A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© AndroidM 中级黑马   /  2015-4-6 02:14  /  510 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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));
       }
}




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马