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
发布了101 篇原创文章 · 获赞 13 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/a735311619/article/details/77676179