public class Test04 extends Father{
private String name
public static void main(String[] args) {
Test04 test = new Test04();
System.out.println(test.getName());//父类的变量
test.setName("change");//父类的变量
System.out.println(test.name);//子类的变量
System.out.println(test.getName());//父类的变量
}
}
class Father {
private String name = "father";
public String getName() {
return name; //father
//return this.name; //father
}
public void setName(String name) {
this.name = name;
}
}
打印的结果是:
father
null
change
如果子类重新定义了父类中的同名变量。
那么子类执行自己的方法或直接调用时,操作的是子类的变量;子类执行父类的方法时,操作的是父类的变量。