gpt4 book ai didi

java - J2ME getDisplay() 方法

转载 作者:行者123 更新时间:2023-12-01 19:38:05 27 4
gpt4 key购买 nike

在J2ME中创建我们使用的Display类对象

private Display d;
d=Display.getDisplay(this);

this 参数是什么?

我知道 this 指的是当前实例,但是当我编写以下内容时出现错误

d=Display.getDisplay(new MyClassName());

当我在书上看到方法是这样写的

static Display getDisplay(MIDlet midlet)

然后我尝试了这个

MIDlet m;
d=Display.getDisplay(m);

但是我收到错误,我什至无法将 new MIDlet() 作为参数传递,因为它是一个抽象类。

最佳答案

在代码 d=Display.getDisplay(this); 中,this 指的是当前 Midlet。方法 getDisplay() 采用一个 midlet 参数。举个简单的例子

public class MyMidlet extends Midlet
{
private Display display;

public MyMidlet()
{
display = Display.getDisplay(this); // Here this refers to the current class's Midlet
}
}

现在假设您有如下所示的普通类文件,

public class MyClass
{
private Display display;
Midlet m;

public MyClass()
{
display = Display.getDisplay(m); // You can not do this directly.
}
}

如果您想要上述场景,那么您可能需要更改代码,如下所示,假设您将这两个类放在同一个包中。

// Midlet Class 
public class MyMidlet extends Midlet
{
private MyClass mycls;
public void myMethod ()
{
mycls = MyClass(this); // Passing Midlet reference to MyClass's constructor.
}
....
....
....
}


// another class file
public class MyClass
{
private Display display;
Midlet m;

public MyClass( Midlet m )
{
this.m = m;
display = Dispaly.getDisplay(m); // Now it will work
}
}

关于java - J2ME getDisplay() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com