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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

7 个回复

倒序浏览
主要区别是引用范围,具体参见下图

            public   protected   default  private

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

同一类    Y              Y             Y           Y
同一包    Y              Y             Y
子类中    Y              Y        
不同包    Y
带Y的都是能使用的,许多情况的都是看在不在同一包内
回复 使用道具 举报
访问权限的区别
回复 使用道具 举报
一般只用两个  public 和  private   ;   public 所有都能访问  ;private  只有本类能访问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马