java中j2me的一个小程序 又不解的地方 新手求教
程序代码如下:importjavax.microedition.midlet.*;importjavax.microedition.lcdui.*;//继承自MIDlet...
程序代码如下:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
//继承自MIDlet的ClearScreen类
public class ClearScreen extends MIDlet
{
private Display mydisplay;
private MyCanvas mycanvas;
public ClearScreen()//构造函数
{
mydisplay=Display.getDisplay(this);
mycanvas=new MyCanvas();//这里的两个this都指的是继承自MIDlet的ClearScreen
}
protected void startApp()
{ mydisplay.setCurrent(mycanvas);}
protected void pauseApp()
{}
public void destroyApp(boolean un)
{}
}
//继承自Canvas的MyCanvas类
class MyCanvas extends Canvas implements CommandListener
{
private Command exit;
private ClearScreen example;
private ClearScreen cs=new ClearScreen();
public MyCanvas()
{
exit=new Command("Exit",Command.SCREEN,1);
this.addCommand(exit);
this.setCommandListener(this);
}
protected void paint(Graphics g)//重写 为什么访问权限严了?
{
g.setColor(255,0,255);
g.fillRect(0,0,getWidth(),getHeight());
}
public void commandAction(Command c,Displayable d)
{
if(c==exit)
{cs.destroyApp(true);cs.notifyDestroyed();}
}
}
问题如下:
1 paint()函数在Canvas中原型为protected abstract void paint(Graphics g) 为什么在MyCanvas在中重写权限定义为protected没有出错?书上说“重写方法不能比被重写方法有着更严格的访问权限”。求解。
2 commandAction()函数中用于点击exit按钮推出的代码不能发挥作用,但是编译通过,请问我的哪里出问题了?要想实现按钮exit的退出操作,要怎么写?
谢谢各位
3 一个包中两个类A和B A中用protected修饰的函数在类B中可以用(B不是A的子类)
为什么?
分不多了 高手分谢谢了 请帮帮我 展开
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
//继承自MIDlet的ClearScreen类
public class ClearScreen extends MIDlet
{
private Display mydisplay;
private MyCanvas mycanvas;
public ClearScreen()//构造函数
{
mydisplay=Display.getDisplay(this);
mycanvas=new MyCanvas();//这里的两个this都指的是继承自MIDlet的ClearScreen
}
protected void startApp()
{ mydisplay.setCurrent(mycanvas);}
protected void pauseApp()
{}
public void destroyApp(boolean un)
{}
}
//继承自Canvas的MyCanvas类
class MyCanvas extends Canvas implements CommandListener
{
private Command exit;
private ClearScreen example;
private ClearScreen cs=new ClearScreen();
public MyCanvas()
{
exit=new Command("Exit",Command.SCREEN,1);
this.addCommand(exit);
this.setCommandListener(this);
}
protected void paint(Graphics g)//重写 为什么访问权限严了?
{
g.setColor(255,0,255);
g.fillRect(0,0,getWidth(),getHeight());
}
public void commandAction(Command c,Displayable d)
{
if(c==exit)
{cs.destroyApp(true);cs.notifyDestroyed();}
}
}
问题如下:
1 paint()函数在Canvas中原型为protected abstract void paint(Graphics g) 为什么在MyCanvas在中重写权限定义为protected没有出错?书上说“重写方法不能比被重写方法有着更严格的访问权限”。求解。
2 commandAction()函数中用于点击exit按钮推出的代码不能发挥作用,但是编译通过,请问我的哪里出问题了?要想实现按钮exit的退出操作,要怎么写?
谢谢各位
3 一个包中两个类A和B A中用protected修饰的函数在类B中可以用(B不是A的子类)
为什么?
分不多了 高手分谢谢了 请帮帮我 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询