java-父类和子类的构造函数

说明:如果一个类继承了另外一个类,那么当进入该类的构造方法时,程序会默认先执行该类的父类的无参构造方法。
为什么:因为当该类继承别的类时,该类的所有构造方法的第一句必须是super();也即是调用父类的无参构造函数,就算我们不写编译器也会自动帮我们加上。

package Test;

public class Test {
    public static void main(String[] args) {
        Student s = new Student();
    }
}


class Humen{
    Humen() {
        System.out.println("Humen");
    }

}
class Student extends Humen{
    Student() {
        System.out.println("Student");
    }
}

输出结果

Humen
Student

当调用有参构造时

package Test;

public class Test {
    public static void main(String[] args) {
        Student s = new Student("hello");
    }
}

class Humen{
    Humen() {
        System.out.println("Humen");
    }
    Humen(String s) {
        System.out.println(s);
    }
}
class Student extends Humen{
    Student() {
        System.out.println("Student");
    }
    Student(String s) {
        System.out.println(s);
    }
}

输出结果

Humen
hello
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章