Java 子类继承父类的时候,子类的构造函数怎么写

子类继承父类的时候,子类的构造函数怎么写

构造函数用于构造一个类,是不能继承,不能被覆盖的。
(1)父类显式定义有参构造函数,而没有定义无参构造函数的时候,java虚拟机默认不自动创建一个无参构造函数。
(2)如果父类显式的添加无参构造函数,则子类可以创建自己的有参或无参构造函数,如果子类没有显示调用父类的有参构造函数,则java自动调用父类的无参构造函数。
(3)如果父类没有显式的添加无参构造函数,则子类认为父类的无参构造函数是不存在的,即父类没有默认的构造函数;
则子类必须要有有参构造函数,需要在子类的构造函数里显式的调用父类的有参构造函数,且调用语句必须作为第一句;
且子类中不能添加无参构造函数,因为无参构造函数也会自动调用父类的无参构造函数,既然父类中没有,那么子类中无可调用。

public class Father {
    private int yearold;//当父类当中出现私有变量时,最好加上存取器

    Father(int year){
        yearold=year;
    }
    Father(){
        call();
    }
    public void call(){
        System.out.println("Input an Integer number");
        yearold=new Scanner(System.in).nextInt();
    }

    public int birthyear(){
        return 2019-yearold;
    }
    public void motherName(String name){
        System.out.println("Mother name is "+name);
    }
}
public class Son extends Father{
    private int yearold;

    Son(int year) {
        super();//这里调用父类的无参构造方法会需要输入一个整数
        yearold=year;
    }
    }
原创文章 64 获赞 27 访问量 9432

猜你喜欢

转载自blog.csdn.net/weixin_44893585/article/details/103644198