public class Main {
public static void main(String[] args){
Father father = new Father();
Son s = new Son();
father = s;
father.fo();
System.out.println(father.i);
System.out.println(s.i);
s=(Son) father;
System.out.println(s.i);
}
}
class Father{
int i =1;
public void fo() {
System.out.println(i);
}
}
class Son extends Father{
int i =2;
public void fo() {
System.out.println(i);
}
public void foo() {
System.out.println(i+10);
}
}
执行的结果为:2 1 2 2
Father father = new Father();
Son s = new Son();
father = s;
等同于Father father = new Son();由此可见变量是不会显示出多态的