What is the output of the following program code?
abstract class C1{
public C1(){
System.out.print(1);
}
}
class C2 extends C1{
public C2(){
System.out.print(2);
}
}
class C3 extends C2{
public C3(){
System.out.println(3);
}
}
public class Test{
public static void main(String[] a){
new C3();
}
}
abstract class C1{
public C1(){
System.out.print(1);
}
}
class C2 extends C1{
public C2(){
System.out.print(2);
}
}
class C3 extends C2{
public C3(){
System.out.println(3);
}
}
public class Test{
public static void main(String[] a){
new C3();
}
}
A. 12
B. 23
C. 123
D. 321
Answer: Option C
Because every constructor in java calls super() method by default, and it runs the parent constructor.
how this answer came?