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

     

    java的访问权限

    一、访问权限

    1. 权限简介

    java有四种访问权限:public > protected > default > private。

    注:protected、private不能修饰类,private不能修饰抽象方法。

    2. 权限详情

    public ------所修饰的成员,在任何位置均可被访问。

    protected -所修饰的成员,能被其子类访问。

    default -----所修饰的成员,只能在同包中被访问。

    private -----所修饰的成员,只能在本类中被访问。

    访问权限 同类 同包 不同包子类 不同包非子类
    public
    protected ×
    default × ×
    private × × ×

    二、权限测试

    1. 同类

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavacnblogsmyPackAsk.java
     */
    package cnblogs.myPack;
    
    public class Ask {
        public String s1 = "我是公共";
        String s2 = "我是友好";
        protected String s3 = "我是受保护";
        private String s4 = "我是私有";
    
        public void speak(String s) {
            System.out.println(s);
        }
    
        public static void main(String args[]) {
            Ask ask = new Ask();
            ask.speak(ask.s1);
            ask.speak(ask.s2);
            ask.speak(ask.s3);
            ask.speak(ask.s4);
        }
    }

     由此可见,在同类中,四种权限均可被访问。

    2. 同包

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavacnblogsmyPackE.java
     */
    package cnblogs.myPack;
    
    public class E {
        public static void main(String args[]) {
            Ask ask = new Ask();
            ask.speak(ask.s1);
            ask.speak(ask.s2);
            ask.speak(ask.s3);
            ask.speak(ask.s4);
        }
    }

     由此可见,在同包中,四种权限只有private不能被访问。

    3. 不同包子类

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavacnblogs	empE.java
     */
    package cnblogs.temp;
    import cnblogs.myPack.Ask;
    
    public class E extends Ask {
        public static void main(String args[]) {
            Ask father = new Ask();// 使用父类的对象访问
            father.speak(father.s1);
            father.speak(father.s2);
            father.speak(father.s3);
            father.speak(father.s4);
    
            E child = new E();     // 使用子类的对象访问
            child.speak(child.s1);
            child.speak(child.s2);
            child.speak(child.s3);
            child.speak(child.s4);
        }
    }

     由此可见,当使用父类创建的对象访问时,只能访问public;当使用子类创建的对象访问时,可以访问public、protected。

    4. 不同包非子类

    /*
     * @Author: bpf
     * @FilePath: Learn in the InternetCodejavacnblogscomE.java
     */
    package cnblogs.com;
    import cnblogs.myPack.Ask;
    
    public class E{
        public static void main(String args[]) {
            Ask ask = new Ask();
            ask.speak(ask.s1);
            ask.speak(ask.s2);
            ask.speak(ask.s3);
            ask.speak(ask.s4);
        }
    }

     由此可见,在不同包非子类中,只能访问public。

  • 相关阅读:
    Atitit 图像处理30大经典算法attilax总结
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
    Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别
    Atitit  从 RGB 到 HSL 或 HSV 的转换
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
    Atitit 修改密码的功能流程设计 attilax总结
    atitit 点播系统 概览 v2 qb1.docx
    Atitit dsl exer v3 qb3 新特性
    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
    Atitit 异常机制与异常处理的原理与概论
  • 原文地址:https://www.cnblogs.com/bpf-1024/p/12663335.html
Copyright © 2011-2022 走看看