java中如果一个类中的field被标记了private,就意味着这个field只能被所属类中的方法来访问。
对于这个private访问权限的理解应该是这种访问权限是“基于类”的。说的更具体一点就是 一个方法可以访问所属类的所有对象的私有数据。
举个例子来看,
class Employee{
....
public boolean equals(Employee other){
return name.equals(other.name);
}
}
典型的调用方式是访问方式是 if(harry.equals(boss)) ...
这个方法访问harry的private field,这个不让人奇怪,然后他还访问了boss的 private field。这是合法的,其原因是boss是 Employee类的对象,而Employee类的方法可以访问Employee类的任何一个对象的private field。