今天在看我的讲义时,我不明白extends
在这种情况下的目的是什么。考虑这段代码:
import java.net.*;
import java.awt.*;
public class QueenApl extends Frame{ // Why extends??
Image card;
public static void main(String[] args){
QueenApl f = new QueenApl();
f.show();
}
public QueenApl(){
setSize(400,400);
try{
URL u = new URL("file:/c:/windows/desktop/carn4.jpg");
card=getToolkit().getImage(u); //Why getToolkit can be used directly?
}catch(MalformedURLException e){
System.out.println("Error in URL!"); System.exit(1);
}
}
public void paint(Graphics g){
g.drawImage(card,120,50,this);
}
}
主方法类为什么要扩展
Frame
类?为什么不在Frame
main 方法内或作为 class 的实例变量创建QueenApl
?像这样:Frame someobj = new Frame(argument or none);
为什么不加前面的就
getToolkit()
可以直接使用呢?classname.
是不是因为这个方法在类里面Frame
,又因为main方法类继承Frame
了,我们可以直接使用这个方法?