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回收了。