Display dis;
Display dis = new Display();
究竟这两个语句呢? 我已经尝试过他们两个,但似乎无法知道区别。 P.S.这里
Display dis;
Display dis = new Display();
究竟这两个语句呢? 我已经尝试过他们两个,但似乎无法知道区别。 P.S.这里
与像C++等编程语言,它是不够的声明一个变量来给它分配一个实际的对象:
Display dis; // dis == null
您需要实例化一个对象与
dis = new Display(); // dis now contains a reference to a new Display instance
你可以声明变量并同时为新实例分配引用,如果您愿意:
Display dis = new Display();
(注:在Java中,习惯上用大写字母开头的类名)
这很有帮助。谢谢! –
Display dis;
小白编码器上面的语句是Display
类型的引用的声明。这里没有创建对象。
Display dis = new Display();
这种说法是Display
类型的对象的实例。
这两条语句根本不相同。第二条语句使用new
运算符创建一个对象,并将创建的对象分配给引用dis
,以便您可以使用dis
对该对象执行操作。
例如:
dis.show();
没有创作,你将无法执行上述操作的对象。
希望这有助于!
当您在做dis = new display();
时,会在内存中创建一个新的Display
对象,并将其引用放在dis
之下。当你正在做Display dis
堆栈中的一个地方是为变量保留的,但是那里有null
而不是“真实”的对象。
第一个甚至没有初始化,有'null'值 –
@ m.antkowicz只有声明为字段,如果不声明为局部变量。 – RealSkeptic
这是一个非常基本的问题。你应该首先做一个java教程或者一些课程来理解基础。你会在这里得到一堆正确的声音,有些是非常详细的。但是,只要做一个教程或一堂课,你就可以更快地学习java方法。 –