public class StudentFormMain {
public static void main(String[] args) {
new StudentForm();
}
}二级和二级
public class StudentForm extends JFrame {
public StudentForm(){
setTitle("Admission Form");
setSize(300,250);
setVisible(true);
}
}我的问题是
这些陈述之间有什么区别?
StudentForm studentform=new StudentForm();和
new StudentForm()第一条语句声明该类的Obj并调用构造器,但在第二条语句中,只有Constructor正在调用。
注:结果相同
super(""); set the title of the frame因为它正在调用超类构造函数。我们还可以使用setTitle("")方法设置标题
也请区分不同的方法。
发布于 2014-02-07 06:59:36
守则:
StudentForm studentform = new StudentForm();构造一个新的StudentForm实例,并将对该实例的引用分配给变量studentform。以便以后可以调用StudentForm实例的方法,例如studentform.addContainerListener(xxx)。
但是代码new StudentForm()只是调用构造函数来创建一个新的对象实例,但是不要保存对该实例的引用。
发布于 2014-02-07 06:53:51
new StudentForm();上面的变化只调用一个构造函数。
StudentForm studentform=new StudentForm();当您想要访问类中的构造函数以外的其他方法时,会使用上述变化。在这两种情况下,不管您是否使用studentform对象,构造器都将被调用。
例如,如果类具有名为methodOne()的其他方法
public class StudentForm extends JFrame {
public StudentForm(){
setTitle("Admission Form");
setSize(300,250);
setVisible(true);
}
public void methodOne()
{
System.out.println("In method one..");
}
}然后您可以使用以下方法调用它:
StudentForm studentform=new StudentForm();
studentform.methodOne();发布于 2014-02-07 06:58:54
new关键字表示StudentForm对象的instantiation/creation。所以
new StudentForm()提供StudentForm的实例或简单的StudentForm对象。
唯一的区别是
StudentForm studentform = new StudentForm();
and
new StudentForm();前者为新的reference对象提供了一个StudentForm。引用为studentForm
https://stackoverflow.com/questions/21621096
复制相似问题