class Person { private int age; public void setAge(int age) { if (age < 0 || age > 200) age = 0; else { this.age = age; } } public int getAge() { return age; }
public Person () {System.out.println("Person ()");}/*父类的无参构造函数*/
/*父类的有参构造函数,当提供了有参构造函数的时候,最后提供一个无参构造函数,
public Person (int age) {System.out.println("Person (int age)");this.age = age;}}class Student extends Person{private String school;public void setSchool(String school) {this.school = school;}public String getSchool() {return school;} /*子类的有参构造函数,最后提供一个无参构造函数,读者可以自己试一下,*/public Student(String school) {/* will call the super() *///super();/*子类先调用父类的构造函数,后调用子类的构造函数,无参构造,默认*/super(5);/*子类调用父类的有参构造函数*/System.out.println("Student(String school)");this.school = school;}}public class Ext4 {public static void main (String args[]) {Student stu = new Student("ustc");//stu.setAge(10);System.out.println(stu.getAge());System.out.println(stu.getSchool());}}因为当提供了有参构造函数之后,系统就不会自动提供无参构造函数了*/
java基础篇(十二)——构造函数和子类构造函数
最新推荐文章于 2023-04-11 17:56:17 发布