[code="java"]public class myFrame extends JFrame{
JButton bt; //这里变量声明放在构造方法的外面有什么好处?
public test(String title){
super(title);
bt=new JButton("按钮");
...................
}
}[/code]
[code="java"]public class myFrame extends JFrame{
JButton bt; //这里变量声明放在构造方法的外面有什么好处?
public test(String title){
super(title);
bt=new JButton("按钮");
...................
}
}[/code]
说几句不好听的,希望楼主能听进去
楼主的java基础非常糟糕。完全没有类和对象的概念。
楼主的myFrame是一个类(这里先不谈命名不规范的问题,规范的命名应该是MyFrame),这个类的构造方法必须和类名相同,即:
public myFrame(...)
而楼主写成了
public test(...)
一个类可以生成很多对象,每个对象会有自己的“成员变量”(在java中叫做“域”)。比如:
MyFrame f = new MyFrame(...);
f.bt表示的就是f这个对象中的一个成员变量bt
在任何函数(方法)内声明的变量叫做“局部变量”,这个变量在这个方法被调用时生成,方法结束后就会自动消失。即,如果你在构造函数里声明了一个变量,这个变量只是临时的。当构造完成后就消失了(当然对象不一定消失)。所以你的对象并不会有这么一个成员变量。你无法引用它(无法更改这个东西的状态)。