动画跟踪执行public class Facultyextends Employeepublic static void main(string[l args)2.调用Faculty的new Faculty()i构造方法1public FacultyOSystem.out.println("(4) Faculty's no-arg constructor is invoked");7子class Employee extendsPerson(public Employee()(this("(2) Invoke Employee's overloaded constructor");System.out.println("(3) Employee's no-arg constructor is invoked");1publicEmployee(string s)(System.out.println(s);1亨class Person(public Person()(System.out.println("(l) Person's no-arg constructor is invoked");寻Liang,IntroductiontoJava Programming,EighthEdition,(c)2011Pearson Education,Inc.All11rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 11 跟踪执行 public class Faculty extends Employee { public static void main(String[] args) { new Faculty(); } public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); } } class Employee extends Person { public Employee() { this("(2) Invoke Employee’s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); } public Employee(String s) { System.out.println(s); } } class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); } } 2.调用Faculty的 构造方法 动 画
动画跟踪执行public class Facultyextends Employeepublic static void main(string[l args)new Faculty()i1public FacultyOSystem.out.println("(4) Faculty's no-arg constructor is invoked");73.调用Employee的子无参构造方法class EmployeeextendsPersonpublic Employee(this("(2) Invoke Employee's overloadedconstructor");System.out.println("(3) Employee's no-arg constructor is invoked");1publicEmployee(strings)(System.out.println(s);1亨class Person(public Person()(System.out.println("(l) Person's no-arg constructor is invoked");寻Liang,IntroductiontoJava Programming,Eighth Edition,(c)2011Pearson Education,Inc.All12rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 12 跟踪执行 public class Faculty extends Employee { public static void main(String[] args) { new Faculty(); } public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); } } class Employee extends Person { public Employee() { this("(2) Invoke Employee’s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); } public Employee(String s) { System.out.println(s); } } class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); } } 3. 调用Employee的 无参构造方法 动 画
动画跟踪执行public class Faculty extends Employeepublic static void main(string[l args)new Faculty()i1public FacultyOSystem.out.println("(4) Faculty's no-arg constructor is invoked");7子4.调用Employee(String)构造方法class Employee extendsPerson(public Employee()this("(2)InvokeEmployee's overloaded constructor");System.out.println("(3)Employee's no-arg constructoris invoked");1publicEmployee(stringis)System.out.println(s);子亨class Person (public Person()(System.out.println("(l) Person's no-arg constructor is invoked");寻Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.All13rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 13 跟踪执行 public class Faculty extends Employee { public static void main(String[] args) { new Faculty(); } public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); } } class Employee extends Person { public Employee() { this("(2) Invoke Employee’s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); } public Employee(String s) { System.out.println(s); } } class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); } } 4. 调用Employee(String) 构造方法 动 画
动画跟踪执行public class Faculty extends Employeepublic static void main(string[l args)newFaculty()i1public FacultyOSystem.out.println("(4) Faculty's no-arg constructor is invoked");7子class Employee extendsPerson(public Employee()this("(2)InvokeEmployee'soverloadedconstructor");System.out.println("(3)Employee's no-arg constructoris invoked");1publicEmployee(stringis)System.out.println(s);子5.调用PersonO亨构造方法class PersonpublicPersonSystem.out.println("(l)Person'sno-arg constructoris invoked");Liang,Introduction toJava Programming.EighthEdition,(c)2011Pearson Education,Inc.All14rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 14 跟踪执行 public class Faculty extends Employee { public static void main(String[] args) { new Faculty(); } public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); } } class Employee extends Person { public Employee() { this("(2) Invoke Employee’s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); } public Employee(String s) { System.out.println(s); } } class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); } } 5. 调用Person() 构造方法 动 画
动画跟踪执行public class Faculty extends Employeepublicstaticvoid main(string[l args)new Faculty()i1public FacultyOSystem.out.println("(4) Faculty's no-arg constructor is invoked");7子class EmployeeextendsPerson(publicEmployee()this("(2)InvokeEmployee'soverloadedconstructor");System.out.println("(3)Employee's no-arg constructoris invoked");1publicEmployee(stringis)System.out.println(s);子亨6.执行printlnclass Person[public Person()(System.out.println("(l) Person's no-arg constructor is invoked");Liang,IntroductiontoJavaProgramming.EighthEdition,(c)2011PearsonEducation,Inc.All15rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 15 跟踪执行 public class Faculty extends Employee { public static void main(String[] args) { new Faculty(); } public Faculty() { System.out.println("(4) Faculty's no-arg constructor is invoked"); } } class Employee extends Person { public Employee() { this("(2) Invoke Employee’s overloaded constructor"); System.out.println("(3) Employee's no-arg constructor is invoked"); } public Employee(String s) { System.out.println(s); } } class Person { public Person() { System.out.println("(1) Person's no-arg constructor is invoked"); } } 6. 执行println 动 画