zoukankan      html  css  js  c++  java
  • Java访问权限

    public > protected > default > private

    • public:该成员可以被任意包下,任意类的成员进行访问;
    • protected:该成员可以被该类内部成员访问,也可以被同一包下其他的类访问,还可以被它的子类访问;
    • defalut:该成员可以被该类内部成员访问,也可以被同一包下其他的类访问;
    • private:该成员可以被该类内部成员访问。
    访问权限 本类 本包的类 本包的子类 外包的子类 外包的类
    public
    protected
    default
    private

    上代码:Java访问权限.zip

    //文件结构
    Test
    |-- src
       |-- cat --------猫猫包
          |-- Kit -----本包的子类
          |-- Kitt ----本包的类
          |-- Kitty ---本类
       |-- dog --------狗狗包
          |-- Ki ------外包的子类
          |-- Puppy ---外包的类
    

    本类

    // 本类
    package cat;
    
    public class Kitty {
        public static String catA = "catA";
        protected static String catB = "catB";
        static String catC = "catC";
        private static String catD = "catD";
    
        public static void main(String[] args) {
            // OK
            System.out.println(catA);
            // OK
            System.out.println(catB);
            // OK
            System.out.println(catC);
            // OK
            System.out.println(catD);
        }
    }
    

    本包的类

    // 本包的类
    package cat;
    
    public class Kitt {
        public static void main(String[] args) {
            // OK
            System.out.println(Kitty.catA);
            // OK
            System.out.println(Kitty.catB);
            // OK
            System.out.println(Kitty.catC);
            // ERROR, 'catD' has private access in 'cat.Kitty'
            System.out.println(Kitty.catD);
        }
    }
    

    本包的子类

    // 本包的子类
    package cat;
    
    public class Kit extends Kitty {
        public static void main(String[] args) {
            // OK
            System.out.println(catA);
            // OK
            System.out.println(catB);
            // OK
            System.out.println(catC);
            // ERROR, 'catD' has private access in 'cat.Kitty'
            System.out.println(catD);
        }
    }
    

    外包的子类

    // 外包的子类
    package dog;
    
    import cat.Kitty;
    
    public class Ki extends Kitty {
        public static void main(String[] args) {
            // OK
            System.out.println(catA);
            // OK
            System.out.println(catB);
            // ERROR, 'catC' is not public in 'cat.Kitty'. Cannot be accessed from outside package
            System.out.println(catC);
            // ERROR, 'catD' has private access in 'cat.Kitty'
            System.out.println(catD);
        }
    }
    

    外包的类

    // 外包的类
    package dog;
    
    import cat.Kitty;
    
    public class Puppy {
        public static void main(String[] args) {
            // OK
            System.out.println(Kitty.catA);
            // ERROR, 'catB' has protected access in 'cat.Kitty'
            System.out.println(Kitty.catB);
            // ERROR, 'catC' is not public in 'cat.Kitty'. Cannot be accessed from outside package
            System.out.println(Kitty.catC);
            // ERROR, 'catD' has private access in 'cat.Kitty'
            System.out.println(Kitty.catD);
        }
    }
    

    逐行注释,基本上也没啥好解释的

  • 相关阅读:
    JSON——JavaScript 对象表示法(JavaScript Object Notation)。
    jquery—— jQuery 是目前最流行的 JS 框架
    Bootstrap的css
    markdown编辑器与富文本编辑器优缺点比较--转载好文
    MATLAB绘图设置--中坐标显示间隔以及范围设置
    MATLAB绘图中参数导数的标注方法
    MATLAB 读取和写出Excel文件的方法-单个以及自动循环读写多个情况
    matlab 求和
    MATLAB画图中设置Marker过于密集怎么办-解决方法
    MPC特点原理以及各项参数的选择--引用别人的博客网址
  • 原文地址:https://www.cnblogs.com/Subaru/p/15494676.html
Copyright © 2011-2022 走看看