本帖最后由 yqj 于 2014-8-8 20:53 编辑
因为那个方法是定义在Person1类中,参与比较的Person1类的对象也是在Person1类中的比较,private 的成员相当于其他类时是私有的,相当于自己的类时就可以使用,跟具体对象无关。
如:
- class Person {
- private String name;
- @Override
- public boolean equals(Object obj) {
- if(obj instanceof Person){
- Person p=(Person) obj;
- String s=p.name; //编译不报错(Person对象p在Person类的对象中使用)
- }
- return false;
- }
- }
- class People{
- @Override
- public boolean equals(Object obj) {
- if(obj instanceof Person){
- Person p=(Person) obj;
- // String s=p.name; //编译报错(Person对象p不在Person类的对象中使用)
- }
- return false;
- }
- }
复制代码
|