java问题,会的帮下忙吧,谢谢了啊!

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:40:08
第一个语句:
import java.awt .*;
public class MyFrame extends Frame{
poblic ststic void main (String args[ ]){
MyFrame fr=new MyFrame("Please see there !This is a frame ");
fr.seSize(400,200);
fr.setbackground(Clour.blue);
fr.setVisible(true);
}
public MyFrame(String str){
super(str);
}
}
第二个语句:
import java.awt.*;
class PanelTest extends Panel{
public static void main(String args[]){
PanelTest p=new Paneltest();
Frame f=new Frame ("在框架中添加控制面板!");
f.add(p);
f.setSize(300,200);
f.setimport java.awt .*;
public class MyFrame extends Frame{
poblic ststic void main (String args[ ]){
MyFrame fr=new MyFrame("Please see there !This is a frame ");
fr.seSize(400,200);
fr.setbackground(Clour.blue);
fr.setVisible(true);
}
public MyFrame(String str){
super(str);
}
}
第二个语句:
import java

先说说你的第一个语句中你问的关键
public MyFrame(String str){
super(str);
}
你的MyFrame类是继承自JFrame
MyFrame(String str)这是子类MyFrame的构造方法;
子类继承了父类的所有所有属性和非私有方法,但是不继承构造方法
所以,在子类创建对象(就是NEW的时候,也叫实例化)时,如果要对从
父类继承下来的属性进行初始化(这里分很多步骤,但这不是这个问
题的关键),只能用super(str)调用父类的构造...将str传给父类,如果
没有参数要传的话,JVM也会默认为有一个super();句子的存在
从这里可以说明,你程序中的父类的构造中一定有一个是需要一个 String 类
型的参数的,以作为窗体的名称(这句是理解你说的不同的关键,你
可以去查一下JFrame的API,研究下他的构造)

第二个语句中PanelTest 继承自Panel,而你程序中Panel创建对象
时,不需要什么参数,就不必写一个构造,直接用的是系统默认的
当然,系统默认的构造里super();一定存在.

构造方法...构造方法中再调用父类构造方法 这就是解释
主方法中new MyFrame("Please see there !This is a frame ");
这里就是创建对象 就调用public MyFrame(String str)
将那个Please... 传给str
再将str传给了父类构造方法super(str),就是JFrame的构造方法

public Frame(String title)
throws HeadlessException构造一个新的、最初不可见的、具有指定标题的 Frame 对象。

参数:
title - 要显示在窗体边框中的标题。null 值视为空字符串 ""。
super(str);给frame加标题。而Pan