这句话应该是针对整个java来说的,因为除了设置成private的情况,其它情况都是这样的。
class Employee {
protected int hireDay = 10;
public int hireDayPublic = 10; //public的情况
private int hireDayPrivate = 10; //private的情况
int hireDayNon = 10; //default的情况
public void printEmployee(){
System.out.println(hireDay);
System.out.println(hireDayPublic);
System.out.println(hireDayPrivate);
System.out.println(hireDayNon);
}
}
class Manager extends Employee {
Manager(){
this.hireDay = 20;
this.hireDayPublic = 20;
this.hireDayNon = 20;
}
public void setHireDay(int d){
this.hireDay = d;
this.hireDayPublic = d;
this.hireDayNon = d;
}
public void printManager(){
super.printEmployee();//尝试访问父类对象
}
}
public class Test {
public static void main(String[] args){
Employee e = new Employee();
Manager m = new Manager();
System.out.println("---e.printEmployee();");
e.printEmployee(); // 打印10,10,10,10
System.out.println("---m.printEmployee();");
m.printEmployee(); // 打印20,20,10,20
System.out.println("---m.printManager();");
m.printManager(); // 打印20,20,10,20
System.out.println("---");
System.out.println("---");
m.setHireDay(30);
System.out.println("---e.printEmployee();");
e.printEmployee(); // 打印10,10,10,10
System.out.println("---m.printEmployee();");
m.printEmployee(); // 打印30,30,10,30
System.out.println("---m.printManager();");
m.printManager(); // 打印30,30,10,30
}
}