java多态父类引用指向子类对象的问题

java 父类引用指向子类对象时,成员变量的编译和运行都是看左边,而方法编译看左边,运行看右边。 

class ParaentClass{
	public int i = 10;
	public void test(){
		System.out.println("father");
	}
}
public class SubClass extends ParaentClass{
	public int i = 30;
	public void test(){
		System.out.println("son");
	}
	public static void main(String[] args) {
		ParaentClass paraentClass = new SubClass();
		SubClass subClass = new SubClass();
		System.out.println(paraentClass.i);
		System.out.println(subClass.i);
		paraentClass.test();
		subClass.test();
	}
}

java多态父类引用指向子类对象的问题_第1张图片

 

你可能感兴趣的:(java)