Java 继承期间的对象创建
如果运行此代码,将创建多少个对象? 如果构造函数内部的Java 继承期间的对象创建,java,Java,如果运行此代码,将创建多少个对象? 如果构造函数内部的new SubTask()和new Task()创建了新实例,如何从main引用它们 如果运行此代码,将创建多少个对象 二, 通过主任务中的new SubTask()和构造函数中的new Task() 如果new SubTask()一个new Task()insie构造函数创建了新实例,那么如何从main引用它们 您正在创建匿名对象,因此在创建匿名对象的行之外无法访问这些对象。不会创建任何对象,因为您的代码不会编译。 SimbleTask!=
new SubTask()
和new Task()
创建了新实例,如何从main引用它们
如果运行此代码,将创建多少个对象
二,
通过主任务中的new SubTask()
和构造函数中的new Task()
如果new SubTask()一个new Task()insie构造函数创建了新实例,那么如何从main引用它们
您正在创建匿名对象,因此在创建匿名对象的行之外无法访问这些对象。不会创建任何对象,因为您的代码不会编译。
SimbleTask!=SimpleTask2:一个
子任务
,一个任务
。如前所述,SimpleTask
没有被引用。了解创建的子任务将不可访问,并最终对继承结构进行垃圾回收可能会很有用。我认为这段代码不会达到您期望的效果。
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();
}
}