[Solved] Explain the output of the java program [duplicate]


So the quick answer, the output will be

feline cougar c c

The reason now.

new Cougar() will create an instance Cougar, since a Cougar is a Feline, Feline‘s constructor is the first thing called in the Cougar‘s constructor.
This explain “feline cougar”.

public Cougar() {
    System.out.print("cougar ");
}

is actually looking like

public Cougar() {
  super(); //printing "Feline"
    System.out.print("cougar ");
}

Now, this.type and super.type both access the same variable declared in Feline.

Since you assign "c" to it, this explain the output “c c”

solved Explain the output of the java program [duplicate]