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中创建多少个对象。在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中创建多少个对象。在JVM中创建对象
将直接创建一个对象。我说“直接”,因为初始化表达式或构造函数代码可以使用“new”创建其他对象。
创建一个C对象将导致4所构造函数调用。在C构造函数的主体之前,有一个对B构造函数的显式或隐式调用。同样,B的构造函数调用A构造函数,该构造函数调用Object构造函数。
该对象是一个C,并且是一个B,并且是一个A,并且是一个对象,并且在该过程结束时将被初始化为它们中的每一个。
欲了解此流程的完整细节,请参阅the JLS。
一,C
类型。要在这里补充一下,使答案在长的30个符号......
答案是1 呼叫new C()
创建确实延伸B
扩展A
本身一个对象,所以你可以使用从B和A继承功能
您是否对此主题做过任何研究? –
扩展另一个类的类中的对象不需要来自父类的对象工作。它只是将这些类用作模板,然后从它自己的类中创建一个对象。 –
如果它想访问父类中的某些变量,该怎么办 – bhalkian