继承中的构造方法

来源:互联网 发布:成都知贤科技有限公司 编辑:程序博客网 时间:2024/06/05 04:54

在下面的图中,GodFish类是Fish类的子类,Fish类是Animal类的子类,Animal类是Object类的子类。


那么在构建GodFish类的对象的时候,所有被继承的类的构造方法都不被执行一遍。构造的顺序是new Goldfish()→new Fish()→new Animal()→new Object()

在构造GodFish对象的时候,会自动调用父类Fish类的无参数的构造方法,在创建Fish类的对象时又会自动调用Animal中无参数的构造方法,在创建Animal对象之前会自动调用Object中无参数的构造方法,创建出Object对象,然后依次返回继续执行Animal的构造方法产生Animal对象,Animal对象返回执行Fish类的构造方法,返回Fish对象,Fish对象执行Godfish类的构造方法,构建出GodFish类的对象。

编译器会自动添加无参数的构造方法,但是当父类没有无参数的构造方法的时候,编译器就会报错,此时需要手动的调用super(参数列表)方法类执行的调用父类的构造方法构建出父类对象。

example:

GodFish godfish = new GodFish();

public GodFish() {
//必须是子类构造方法的第一行,先创建父类对象,再创建子类对象
super(String name); 
        this.name = name;
}

注意:

在构建父类对象的时候,要将super(参数列表放在第一行)因为只有创建出了父类对象,才能创建出子类对象

0 0