Can any one please help me in understanding the output.
public class A {
public A() {
this.print();
}
public void print() {
System.out.println("A");
}
}
Class B extending class A:
public class B extends A {
int i;
public B() {
i=4;
}
@Override
public void print() {
System.out.println("calling B.print");
System.out.println(i);
}
Finally creating object of class B
public class Tester {
public static void main(String[] args) {
A obj = new B();
obj.print();
}
}
Output:
calling B.print
0
calling B.print
4
Shouldn't this.print()
from inside A()
constructor call A
's method()?