java 界面简单问题

来源:百度知道 编辑:UC知道 时间:2024/04/30 15:21:04
import javax.swing.*;
public class JFrameSample extends JFrame{
JButton btn;
JFrameSample(String str){
super(str);
setSize(300,200);
btn=new JButton("第一个按钮");
getContentPane().add(btn);

}
public static void main(String[]args)
{
JFrame frame=new JFrameSample("演示程序");
frame.setVisible(true);
}

}
在main方法中JFrame frame=new JFrameSample("演示程序");。JFrameSample为什么不是JFram。在main方法中怎样调用的构造函数
创建类的对象不是JFrame frame=new JFrame("演示程序");这种格式吗。在这段程序中怎么是JFrame frame=new JFrameSample("演示程序");。帮忙解释一下。还有就是不懂在main方法中怎么调用了构造函数。

你的这个问题关系到面向对象编程的核心思想——那就是继承与多态;
class A{
int a;
public A(){
a=1;
}
void printn(){
System.out.println(a);
}
}
class B extends A{
int a=3;
public B(){
super.a=6;
}
void printn(){
System.out.println(a);
}
public static void main(String[] args){
A a=new B();
a.printn();
System.out.println(a.a);
B b=new B();
b.printn();
System.out.println(b.a);
A c=new A();
c.printn();
System.out.println(c.a);
//B d=new A();
//d.printn();
//System.out.println(d.a);
}
}
这是我自己学习时的一个小程序 你将它运行 然后看看继承与多态的理论 结合这个程序的输出结果 用心理解 你就能明白为什么 。
我觉得我自己也学的不时很透彻 所以就不发表理论来忽悠你了 但是这个小程序可是价值连成哦
可以告诉你的是 在JAVA中 继承父类的子类有多个 而父类只能有一个 这就使得必须有多态出现 他就弥补了单继承的缺憾
而且子类中声明与创建对象的方法就是我上面程序中的三种,他们各有各的用处 ,有些事相似的 ,但是还是有区别的 你看结果就知道了
另外