继承期间的对象创建

时间:2016-08-04 14:25:08

标签: java

public class Task {
}

class SubTask extends Task {
    public SubTask() {
        new Task();
    }
}

class SimpleTask extends SubTask {
    public SimpleTask() {
        new SubTask();
    }

    public static void main(String[] args) {
        SimpleTask s = new SimpleTask();
    }
}

如果我运行此代码,将创建多少个对象? 如果构造函数中的new SubTask()new Task()创建新实例,那么如何从main引用它们?

2 个答案:

答案 0 :(得分:0)

  

如果我运行此代码,将创建多少个对象

2 主要由new SubTask()和构造函数中的new Task()构建。

  

如果新的SubTask()一个新的Task()insie构造函数创建了新实例,那么如何从main引用它们

您正在创建匿名对象,因此除了创建匿名对象之外,无法访问它们。

答案 1 :(得分:0)

不会创建任何对象,因为您的代码无法编译。 SimbleTask!= SimpleTask