What is the expected output?
class Animal {
Animal() {
System.out.println("Animal");
}
}
class Wild extends Animal{
Wild() {
System.out.println("Wild");
super();
}
}
public class Test {
public static void main(String args[]) {
Wild wild = new Wild();
}
}
class Animal {
Animal() {
System.out.println("Animal");
}
}
class Wild extends Animal{
Wild() {
System.out.println("Wild");
super();
}
}
public class Test {
public static void main(String args[]) {
Wild wild = new Wild();
}
}
A. Animal Wild
B. Wild Animal
C. Runtime Exception
D. Compilation Error
Answer: Option D
Solution (By Examveda Team)
super() call must be the first statement in a constructor.
super() must be the first statement in a constructor if written manually by the user because whenever we call base class it has to initialize all the members of the super class or initialise the superclass object as it is being inherited by the base class