子类实例化 super

super调用父类构造,必须要写在第一行

//Person.java
public class Person {

    String name;
    int age;

    Person() {
        System.out.println("Person 无参构造");
    }

    Person(String name, int age) {
        System.out.println("Person 有参构造");
    }

    void eat() {
        System.out.println("Person 吃饭");
    }
}
//Student.java
public class Student extends Person {

    Student() {
        super();
    }

}
//Test.java
public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student student = new Student();
        student.eat();
        ;
    }

}
运行结果
Person 无参构造
Person 吃饭

调用父类其他构造

//Person.java
public class Person {

    String name;
    int age;

    Person() {
        System.out.println("Person 无参构造");
    }

    Person(String name, int age) {
        this.name = name;
        this.age = age;
        System.out.println("Person 有参构造");
    }

    void eat() {
        System.out.println("Person 吃饭");
    }
}
//Student.java
public class Student extends Person {

    Student() {
        super();
    }

    Student(String name, int age) {
        super(name, age);
    }
}
//Test.java
public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student student = new Student("furong", 12);
        System.out.println(student.name);
        System.out.println(student.age);
    }

}

运行结果

Person 有参构造
furong
12
posted @ 2020-08-31 22:28  thomas_blog  阅读(192)  评论(0编辑  收藏  举报