Display dis;
和
Display dis = new Display();
这两个陈述到底是做什么的? 我已经尝试过这两种方法,但似乎无法知道其中的差异。 附: noob编码器
答案 0 :(得分:0)
Display dis;
以上语句是类型为Display
的引用的声明。这里没有创建对象。
Display dis = new Display();
此语句是Display
类型的对象的实例化。
这两个陈述完全不一样。第二个语句使用new
运算符创建对象,并将创建的对象分配给引用dis
,以便您可以使用dis
对对象执行操作。
例如:
dis.show();
如果没有创建对象,您将无法执行上述操作。
希望这有帮助!
答案 1 :(得分:0)
当您执行dis = new display();
时,会在内存中创建一个新的Display
对象,并将其引用放在dis
下。当您只是在Display dis
时,会在变量中保留堆栈中的某个位置,但是那里有null
而不是"真正的"对象
答案 2 :(得分:0)
与其他编程语言(如C ++)不同,仅声明变量以分配实际对象是不够的:
Display dis; // dis == null
您需要使用
实例化对象dis = new Display(); // dis now contains a reference to a new Display instance
如果您愿意,可以声明变量并同时为新实例分配引用:
Display dis = new Display();
(注意:在Java中,通常使用大写字母启动类名称)