本帖最后由 AndroidM 于 2015-4-6 02:17 编辑
访问权限控制中 private 的 意思,正如大家所知道的: 除了包含该成员的类之外,其他任何类都无法访问这个成员,然后,今天在看毕老师的视频时 却发现一有趣的东西,代码如下 :
class Demo{
private int num;
Demo(int num){
this.num = num;
}
public boolean equals(Object obj){
if(!(obj instanceof Demo))
return false;
Demo d = (Demo)obj;
return this.num == d.num;
/*
在一行中,通过重写的equals 方法的传进来的参数obj,来获得所指向对象的成员,但是该对象成员明明是用Private修饰的,为什么可以直接调用呢,难道是因为 该对象本就是该类的一个实例?应该是的,因为这就好比是在Main方法中,通过实例来调用本类 中private修饰的成员。
*/
}
}
class EqualsTest{
public static void main(String[] args) {
Demo d1 = new Demo(4);
Demo d2 = new Demo(7);
System.out.println(d1.equals(d2));
}
}
|
|
|