package Interface;
public class Test_exercise3 {
public static void main(String[] args){
PrintClass pc = new PrintClass();
pc.print();
}
}
abstract class Foundation{
abstract void print();
public Foundation(){
print();
}
}
class PrintClass extends Foundation{
int i = 90;
public void print(){System.out.println("Int:
" + i);}
}
//这是多态这一章在《java编程思想》P162处的关于-构造器内部的多态方法的行为-要调用构造器内部的动态方法就会调用到那个方法被覆盖之后的定义
//因为覆盖之后的方法在未被完全构造之前就会被调用,所以会出现一些隐藏的错误,就如同此例中一样,i未被定义之前是java强制转成的0
// Output:
// Int: 0
// Int: 90