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

© 博€$€海 中级黑马   /  2014-6-9 21:38  /  4689 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

private,public,protect的区别是什么?

7 个回复

正序浏览
一般只用两个  public 和  private   ;   public 所有都能访问  ;private  只有本类能访问
回复 使用道具 举报
访问权限的区别
回复 使用道具 举报
           public   protected   default  private

同一类    Y              Y             Y           Y
同一包    Y              Y             Y
子类中    Y              Y        
不同包    Y
带Y的都是能使用的,许多情况的都是看在不在同一包内
回复 使用道具 举报
访问控制
                        类内          包内    子类     任意
        public        T           T              T                  T
        protected                     T              T                  T
        private        T
                T表示可以访问。
        访问控制是用来模仿客观世界封装现象的
回复 使用道具 举报
进来看看
回复 使用道具 举报
1、private修饰词,表示成员是私有的,只有自身可以访问;  
2、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
3、public修饰词,表示成员是公开的,所有其他类都可以访问;
4、默认/缺省,个人认为是JAVA比较失败的设计.很多开发组都明确禁止缺省修饰符.
缺省的含义: 包内可以调用,即只要是同一个包内,都可以调用. 局限性比protected 大,比public 小. 从'外人'的角度看,类似于public,但又比public  多了个不伦不类的包限定.
回复 使用道具 举报
主要区别是引用范围,具体参见下图

            public   protected   default  private

同一类    OK        OK          OK       OK
同一包    OK        OK          OK
子类中    OK        OK           
不同包    OK
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马