:父类:
package test;
public class FatherClass
{
public FatherClass()
{
System.out.println( "FatherClass Create ");
}
}
子类:
package test;
import test.FatherClass;
public class ChildClass extends FatherClass
{
public ChildClass()
{
System.out.println( "ChildClass Create ");
}
public static void main(String[] args)
{
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
输出结果:
FatherClass Create
FatherClass Create
ChildClass Create
为什么出现两个FatherClass Create结果呢,那是因为由于继承关系,先执行父类的构造函数,再执行自己的构造函数。
要知道子类的构造方法的第一条语句就是调用父类的没有参数的构造方法,如果你没有写出这条语句java虚拟机就会默认的调用,如果你显示的写了这条语句,就一定要写在构造方法中的第一条语句,不然会报错
原理简述:只有在构造方法中调用了父类的构造方法才能继承父类的相关属性和方法,要不然子类从哪里继承父类的属性和方法,在实例化子类的时候又没有和父类有任何关系。
本文详细解析了Java中父类与子类之间的继承关系,重点解释了构造方法的执行顺序及其背后的原理。通过实例代码展示,在创建子类对象时,首先执行父类的构造方法,然后再执行子类自身的构造方法。此过程体现了Java类的继承机制,对于理解面向对象编程具有重要意义。
476

被折叠的 条评论
为什么被折叠?



