黑马程序员技术交流社区

标题: 惊人的Private ,by AndroidM [打印本页]

作者: AndroidM    时间: 2015-4-6 02:14
标题: 惊人的Private ,by AndroidM
本帖最后由 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));
       }
}









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2