java问题,会的帮下忙吧,谢谢了啊!3
发布网友
发布时间:2023-10-12 22:30
我来回答
共5个回答
热心网友
时间:2024-11-23 11:31
先说说你的第一个语句中你问的关键
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();一定存在.
热心网友
时间:2024-11-23 11:32
构造方法...构造方法中再调用父类构造方法 这就是解释
主方法中new MyFrame("Please see there !This is a frame ");
这里就是创建对象 就调用public MyFrame(String str)
将那个Please... 传给str
再将str传给了父类构造方法super(str),就是JFrame的构造方法
热心网友
时间:2024-11-23 11:32
public Frame(String title)
throws HeadlessException构造一个新的、最初不可见的、具有指定标题的 Frame 对象。
参数:
title - 要显示在窗体边框中的标题。null 值视为空字符串 ""。
super(str);给frame加标题。而Pane是没有带字符串的构造方法的,当然不能这么调用啊
热心网友
时间:2024-11-23 11:33
MyFrame fr=new MyFrame("Please see there !This is a frame ");
因为这个会调用有参的构造吧..
public MyFrame(String str){
super(str); //调用类类的有参构造...
public class MyFrame extends Frame
在NEW myframe时 调用了Frame 的字符串有参构造... 也就是窗口标题是str吧.
热心网友
时间:2024-11-23 11:33
兄弟,你的问题有点模糊啊!!
至于public MyFrame(String str){
super(str);
这是类的构造函数,用来初始化类的实例对象的。
看下吧,不懂你再补充明白点。