1、多态中成员变量的访问,编译看左边(父类),运行看左边(父类)。
2、多态中成员方法的访问,编译看左边(父类),运行看右边(子类)。
3、多态中静态方法的访问,编译看左边(父类),运行看左边(父类)。静态和类相关,算不上重写。
父类:
public class Person {
int num = 10;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public static void method(){
System.out.println("Person");
}
}
子类:
public class Man extends Person{
int num = 20;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public static void method(){
System.out.println("Man");
}
}
测试:
public static void main(String[] args) throws Exception {
Person man = new Man();
//多态中成员变量的访问,编译看左边(父类),运行看左边(父类)。
System.out.println(man.num);//10
//多态中成员方法的访问,编译看左边(父类),运行看右边(子类)。
System.out.println(man.getNum());//20
//多态中静态方法的访问,编译看左边(父类),运行看左边(父类)。
//静态和类相关,算不上重写
man.method();//Person
}