1 public class Stringtest { 2 public static void main(String[] args){ 3 Employee employee=new Employee("hehe"); 4 Employee boss=new Employee("boss"); 5 System.out.println(employee.equals(boss)); 6 7 } 8 } 9 class Employee{ 10 private String name; 11 public String getName(){ 12 return name; 13 } 14 public void setName(String name){ 15 this.name=name; 16 } 17 Employee(String name){ 18 this.name=name; 19 } 20 public boolean equals(Employee other){ 21 return name.equals(other.name); 22 } 23 }
equals方法访问了employee的私有域,也访问了boss的私有域。这是合法的,缘由是boss是Employee对象,而Employee类的方法能够访问Employee类的任何一个对象的私有域this