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在哪个类就指向哪个类的成员变量,没有多态。