日期:2014-05-20 浏览次数:20844 次
class Person {
private String name="hhhhhhhh";
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Student extends Person {
private String school;
public void setSchool(String school) {
this.school = school;
}
public String getSchool() {
return school;
}
public void getSuper() {
System.out.println("super:"+super.getName());
}
}
class TestPerson {
public static void main(String[] args) {
Student student = new Student();
//student.setName("John");//1此句注释掉的话,3行和4行打印的都是:"hhhhhhhh";否则都是"John"。
student.setSchool("SCH");//2
student.getSuper();//3
System.out.println(student.getName());//4
System.out.println(student.getSchool());//5
}
}
//我就不明白了,setName(),貌似操作的是父类的 private String name="hhhhhhhh";。但是既然是继承下来了,那操作的应该是子类的 private String name="hhhhhhhh";。
//所以,1行不注释的话,按理说3行是打印"hhhhhhhh",4行打印:"John"。所以就不明白了。希望大家给个解释,谢谢。。