2017-02-27 68 views
-7
Display dis; 

这两种在java中声明对象的方式有什么区别?

Display dis = new Display(); 

究竟这两个语句呢? 我已经尝试过他们两个,但似乎无法知道区别。 P.S.这里

+0

第一个甚至没有初始化,有'null'值 –

+2

@ m.antkowicz只有声明为字段,如果不声明为局部变量。 – RealSkeptic

+4

这是一个非常基本的问题。你应该首先做一个java教程或者一些课程来理解基础。你会在这里得到一堆正确的声音,有些是非常详细的。但是,只要做一个教程或一堂课,你就可以更快地学习java方法。 –

回答

0

与像C++等编程语言,它是不够的声明一个变量来给它分配一个实际的对象:

Display dis; // dis == null 

您需要实例化一个对象与

dis = new Display(); // dis now contains a reference to a new Display instance 

你可以声明变量并同时为新实例分配引用,如果您愿意:

Display dis = new Display(); 

(注:在Java中,习惯上用大写字母开头的类名)

+0

这很有帮助。谢谢! –

0
Display dis; 

小白编码器上面的语句是Display类型的引用的声明。这里没有创建对象。


Display dis = new Display(); 

这种说法是Display类型的对象实例。


这两条语句根本不相同。第二条语句使用new运算符创建一个对象,并将创建的对象分配给引用dis,以便您可以使用dis对该对象执行操作。

例如:

dis.show(); 

没有创作,你将无法执行上述操作的对象。


希望这有助于!

0

当您在做dis = new display();时,会在内存中创建一个新的Display对象,并将其引用放在dis之下。当你正在做Display dis堆栈中的一个地方是为变量保留的,但是那里有null而不是“真实”的对象。

相关问题