【发布时间】:2014-07-08 20:45:27
【问题描述】:
以下代码创建了多少个 A 类实例??
A x, u, v;
x=new A();
A y=x;
A z=new A();
【问题讨论】:
-
只有两个。每次调用
new A()。 -
这是你的作业
-
您可以通过向无参数构造函数添加日志语句并检查该语句被记录的次数来轻松测试这一点。
以下代码创建了多少个 A 类实例??
A x, u, v;
x=new A();
A y=x;
A z=new A();
【问题讨论】:
new A()。
A x, u, v; // creating x,u,v reference variable of type A
x=new A(); // creating a new instance of class A and assigning it to reference variable x
A y=x; // assigning the instance x to another reference variable y of same type A
A z=new A(); // creating another instance of A and assigning to reference variable z
因此,只创建了 两个 class A 实例。
【讨论】:
两个。仅在新语句上。
【讨论】:
我看到两个,每个一个new A()
【讨论】:
每次使用 new 运算符时。引用一个已经创建的对象,不创建一个新的实例。
看看创建对象的 Java 教程,它很好地解释了一切:http://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html
【讨论】:
每当您使用new 运算符时,都会在堆内存中创建一个对象。所以在这种情况下,将创建两个对象。
【讨论】: