JVM中java对象的创建
public class B extends A{
// code goes here
}
public class C extends B{
public void method1(){
C c = new C();
}
}
由于C扩展了B,而B又扩展了A,所以当我创建C的对象时,JVM中将创建多少个对象
你可以在下面搜索框中键入要查询的问题!
public class B extends A{
// code goes here
}
public class C extends B{
public void method1(){
C c = new C();
}
}
由于C扩展了B,而B又扩展了A,所以当我创建C的对象时,JVM中将创建多少个对象
# 1 楼答案
答案是1。 调用
new C()
创建一个确实扩展了B
的对象,该对象扩展了A
本身,因此可以使用从B和A继承的功能# 2 楼答案
将直接创建一个对象。我之所以说“直接”,是因为初始化表达式或构造函数代码可以使用“new”创建其他对象
创建一个C对象将导致四个构造函数调用。在C的构造函数体之前,有一个对B构造函数的显式或隐式调用。类似地,B的构造函数调用A构造函数,A构造函数调用对象构造函数
对象是C,是B,是a,是一个对象,在进程结束时,它们都将被初始化为它们中的每一个
有关这个过程的详细信息,请参见the JLS
# 3 楼答案
一种是
C
型。在这里添加一些东西,使答案超过30个符号长