在Java中如果一个类的属性被标记为private,那么这个属性就只能被所属类的方法来调用,不能被其它类的方法进行调用。
一个方法可以访问所属类的所有对象的私有数据。
举个例子:
public class Employee {
private String name;
public boolean equals(Employee other) {
return this.name.equals(other.name);
}
}
典型的调用方法是:
public static void main(String[] args) {
Employee harry = new Employee();
harry.setName("harry");
Employee tom = new Employee();
tom.setName("tom");
if (harry.equals(tom)) {
System.out.println("tom和harry同名");
}
else {
System.out.println("tom和harry不同名");
}
}
通过这种调用,不仅访问了harry的私有域,同时也访问了tom的私有域。其原因时tom时Employee的对象,而Employee类的方法可以访问Employee类的任何一个对象的私有属性。