zoukankan      html  css  js  c++  java
  • 四种访问权限修饰符的区别

    四种访问权限修饰符的区别


       访问权限修饰符
       a、私有权限(private)
         private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
         b、默认权限(default)
         类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。
         c、受保护权限(protected)
         protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包的类中被调用。
       如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
         d、公共权限(public)
         public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。

         PS:
         e、并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
         f、所有修饰符都可以修饰数据成员,方法成员,构造方法。
         g、为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,如果没有特殊需要,尽可能用private.
         h、修饰符修饰的是“被访问”的权限。

                   访问权限   类   包  子类  其他包

            public     ∨   ∨    ∨     ∨          (对任何人都是可用的)

            protect    ∨   ∨   ∨     ×    (继承的类可以访问以及和private一样的权限)

            default    ∨   ∨   ×     ×    (包访问权限,即在整个包内均可被访问)

            private    ∨   ×   ×     ×    (除类型创建者和类型的内部方法之外的任何人都不能访问的元素)

  • 相关阅读:
    Git初探
    ERROR:column "rolcatupdate" does not exist
    Android Studio SVN使用和VisualSVN-Server配置(图解)
    你了解实时计算吗?
    AndroidAnnotations使用说明书—AndroidAnnotations是怎样工作的?
    ios_webView
     paip.android环境搭建与开发事例
    【转】JNI学习积累之一 ---- 常用函数大全
    【转】NI语法 JNI参考 JNI函数大全
    【转】Android 学习笔记——利用JNI技术在Android中调用、调试C++代码
  • 原文地址:https://www.cnblogs.com/zzpblogs/p/8523551.html
Copyright © 2011-2022 走看看