读书人

j2me框架的一个有关问题

发布时间: 2012-01-19 20:57:58 作者: rapoo

j2me框架的一个问题
请大家看这个代码;

public class midlet01 extends MIDlet {
private static maincanvas m_maincanvas; //定义maincanvas的引用


public midlet01() {
//super();

}

protected void startApp() throws MIDletStateChangeException {
//程序开始运行时,为m_maincanvas分配存储空间
try{
m_maincanvas=new maincanvas(); //分配存储空间
}catch(Exception ex){}
Display.getDisplay(this).setCurrent(m_maincanvas);

}

protected void pauseApp() {
m_maincanvas.Stop();

}


protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
m_maincanvas.Stop();

}

//这个是另外一个类
public class maincanvas extends Canvas implements Runnable,CommandListener{

请问下大家两个问题:1,为什么要分配存储空间呢??分配存储空间是要存储什么呢??
2,为什么要定义maincanvas的引用呢??


[解决办法]
声明了一个类对象,需要把他通过new方法初始化实例,要不然无法使用。
你这两种写法都没有错,只不过习惯上声明和初始化要分开,而且为了让程序在特定的方法中做特定的事情,当然把初始化的工作交给startApp更好。
任何对象都会有引用啊,要不你怎么去用他呢,如果没有引用了就智能等着GC回收了。

读书人网 >J2ME开发

热点推荐