黑马程序员技术交流社区

标题: private,public,protect的区别是什么? [打印本页]

作者: 博€$€海    时间: 2014-6-9 21:38
标题: private,public,protect的区别是什么?
private,public,protect的区别是什么?
作者: JustRight    时间: 2014-6-9 23:04
主要区别是引用范围,具体参见下图

            public   protected   default  private

同一类    OK        OK          OK       OK
同一包    OK        OK          OK
子类中    OK        OK           
不同包    OK

作者: cain    时间: 2014-6-9 23:24
1、private修饰词,表示成员是私有的,只有自身可以访问;  
2、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
3、public修饰词,表示成员是公开的,所有其他类都可以访问;
4、默认/缺省,个人认为是JAVA比较失败的设计.很多开发组都明确禁止缺省修饰符.
缺省的含义: 包内可以调用,即只要是同一个包内,都可以调用. 局限性比protected 大,比public 小. 从'外人'的角度看,类似于public,但又比public  多了个不伦不类的包限定.
作者: 张辉玉    时间: 2014-6-9 23:26
进来看看
作者: 轩辕冰晨    时间: 2014-6-9 23:38
访问控制
                        类内          包内    子类     任意
        public        T           T              T                  T
        protected                     T              T                  T
        private        T
                T表示可以访问。
        访问控制是用来模仿客观世界封装现象的
作者: 黑马粉、峥    时间: 2014-6-10 00:21
           public   protected   default  private

同一类    Y              Y             Y           Y
同一包    Y              Y             Y
子类中    Y              Y        
不同包    Y
带Y的都是能使用的,许多情况的都是看在不在同一包内
作者: xiazhixing    时间: 2014-6-10 16:47
访问权限的区别
作者: 罗中扬    时间: 2014-6-10 16:58
一般只用两个  public 和  private   ;   public 所有都能访问  ;private  只有本类能访问




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