java中多态父类的成员变量和方法调用问题

	class Super {
	String name = "父类名字";
	public void setName(String name) {
		System.out.println(this.getClass());
		this.name = name;//赋值给父类的name,name 为字段指向当前类的字段
	}
	public String getName() {
		return this.name;
	}
}
class Sub extends Super {
	String name = "子类的name";
}
public class ExtendsDemo {
	public static void main(String[] args) {
		Super s = new Sub();
		s.setName("张三");
		System.out.println(s.getName());
		System.out.println(s.name);//此时输出父类的name
	}
}	

在继承多态中:
1、对于方法的覆盖(override),new的谁就调谁,这就是多态。
2、对于成员变量的隐藏(hidden),this在哪个类就指向哪个类的成员变量,没有多态。

原文地址:https://www.cnblogs.com/seasail/p/12179409.html