Java initialization order of constructors

First ancestors, then guests, finally myself

class Person{
    public Person(){
        System.out.println("Person");
    }
}

class School{
    public School(){
        System.out.println("School");
    }
}

class Student extends Person{
    School school = new School();
    
    public Student(){
        System.out.println("Student");
    }
}


Student student = new Student();
//执行顺序为Person>School>Student

Person
School
Student

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325724867&siteId=291194637