import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class helloMyFriend extends MIDlet
{
Display display;
Form form;
public helloMyFriend()
{
display=Display.getDisplay(this);
form=new Form("游戏天地");
form.append("欢迎光临!游戏制作世界/n朋友们快加入手机游戏制作");
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
}
对于display=Dispaly.getDisplay(this),this代表的是什么?
一:MIDlet对象?
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class helloMyFriend extends MIDlet
{
Display display;
Form form;
public helloMyFriend()
{
display=Display.getDisplay(new MIDlet());
form=new Form("游戏天地");
form.append("欢迎光临!游戏制作世界/n朋友们快加入手机游戏制作");
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
}
可是javax.microedition.midlet.MIDlet 是抽象的;无法对其进行实例化。
二:helloMyFriend对象?
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class helloMyFriend extends MIDlet
{
Display display;
Form form;
public helloMyFriend()
{
display=Display.getDisplay(new helloMyFriend());
form=new Form("游戏天地");
form.append("欢迎光临!游戏制作世界/n朋友们快加入手机游戏制作");
}
public void startApp()
{
display.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){}
}
虽然编译无错,但运行后启动不了!
也搞不清楚this到底代表的什么.........
对于dispaly.setCurrent(form),该函数的形参为Dispalyable类型的对象,而form在这里为什么合法?
form是Form类型的对象,而Form是Screen类的派生类,Screen是Dispalyable类的派生类。又因为派生类的对象具有所有祖先类的类型。所以form用在这里合理。