private String name;
private int age;
....
public boolean equals(Object obj)
{
if(!(obj instanceof Student))
throw new ClassCastException("类型不匹配");
Student s = (Student)obj;
return (name.equals(s.getName())&&age==s.getAge());
}
红色部分是我自己平时敲代码的写法,也是今天我有疑惑的地方。name被private修饰之后不是不能直接被对象所调用吗,为什么下面的代码也是可以的呢?
public boolean equals(Object obj)
{
if(!(obj instanceof Student))
throw new ClassCastException("类型不匹配");
Student s = (Student)obj;
return (name.equals(s.name)&&age==s.age);
}
应该是一个小问题,但是却一直想不明白,希望有朋友解释一下! |
|