Please look at this code:
class Sup {
int a = 8;
public void printA() {
System.out.println(a);
}
Sup() {
printA();
}
}
public class Sub extends Sup {
int a = 9;
@Override
public void printA() {
System.out.println(a);
}
Sub() {
printA();
}
public static void main(String[] args) {
Sub sub = new Sub();
}
}
result:
console print: 0 9
I know that subclass will first calls the superclass constructor
but ,why is the 0 9
, not 8 9
?