When I run the following code:
public class Employee extends Person
{
public Employee()
{
this("Employee call 1");
System.out.println("Employee call 2");
}
public Employee(String s)
{
System.out.println(s);
}
}
public class Person
{
public Person()
{
System.out.println("Person call");
}
}
public class Faculty extends Employee
{
public static void main(String[] args)
{
new Faculty();
}
public Faculty()
{
System.out.println("Faculty call");
}
}
I get the following output:
Person call
Employee call 1
Employee call 2
Faculty call
I wanna know why it prints the superclass content then next subclass then next subclass although I have main method in the Faculty subclass. Can you tell me how is it traced?
Thank you.