这有什么区别?
Class object1 = new Class();
这:
Class object1;
如果我错了,请更正我,但是我可以肯定,第一个代码用于引用一个新对象,而另一个则没有。即使是这种情况,我仍然不知道我应该为程序使用哪一个。预先感谢!
答案 0 :(得分:7)
第一个是创建new
对象的Class
实例。
第二个只是声明Class
类型的变量。在您初始化之前,它将一直未初始化。
请注意,您的第一个示例与第二个示例相同,只是对其进行了初始化。
Class object1 = new Class();
是以下语言的简短语法:
Class object1;
object1 = new Class();
答案 1 :(得分:2)
Class object1 = new Class();
与
相同Class object1; // declare variable
object1 = new Class(); // instantiate object and assign reference to variable
答案 2 :(得分:2)
Class object1 = new Class();
创建一个Class
的新实例,并将其分配给object1
变量。
Class object1;
仅声明变量,但不为其分配任何值(甚至不为null)。您不能使用变量例如执行空检查或将其传递给另一个方法,直到为它分配值为止。
Class object1;
// other code
object1 = new Class();
答案 3 :(得分:0)
在声明变量Class object1
时,您只是在定义放置某物的位置,该位置只会容纳该类型的对象。最初它将为空。
使用new
时,实际上是在创建对象。