子类实例化 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