【问题标题】:How many instances of class A does the following code create?以下代码创建了多少个 A 类实例?
【发布时间】:2014-07-08 20:45:27
【问题描述】:

以下代码创建了多少个 A 类实例??

A x, u, v;
x=new A();
A y=x;
A z=new A();

【问题讨论】:

  • 只有两个。每次调用new A()。
  • 这是你的作业
  • 您可以通过向无参数构造函数添加日志语句并检查该语句被记录的次数来轻松测试这一点。

标签: java oop


【解决方案1】:
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 实例。

【讨论】:

    【解决方案2】:

    两个。仅在新语句上。

    【讨论】:

      【解决方案3】:

      我看到两个,每个一个new A()

      【讨论】:

        【解决方案4】:

        每次使用 new 运算符时。引用一个已经创建的对象,不创建一个新的实例。

        看看创建对象的 Java 教程,它很好地解释了一切:http://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html

        【讨论】:

          【解决方案5】:

          每当您使用new 运算符时,都会在堆内存中创建一个对象。所以在这种情况下,将创建两个对象。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-03-06
            • 1970-01-01
            • 2017-06-18
            • 2019-09-19
            • 1970-01-01
            • 2014-04-27
            • 1970-01-01
            • 2011-03-22
            相关资源
            最近更新 更多