zoukankan      html  css  js  c++  java
  • Java 访问控制修饰符

    1. private

    • private修饰的成员变量不能被继承,会被隐式指定为final
    • private修饰的方法能被继承,但是任何其他类没有访问权限,子类继承了也无法访问
    • private不能修饰类
    public class Father {
        private int a;
        private void show(){
            System.out.println("show");
        }
        void getShow(){
            this.show();
        }
    }
    
    class Child extends Father{
    
    }
    
    class Test{
        public static void main(String[] args) {
            Child c=new Child();
            c.getShow();//能打印出show,说明priavte方法还是继承了,但无法访问
        }
    }

    2. protected

    • 在同一包中,protected变量和方法都能被其他类访问
    • 在不同包中,protected变量和方法都不能被访问;但子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法
    • protected不能修饰类

    3. default

    • 默认不写修饰符的变量和方法表示同一包可见
    • 不同包,即使是子类也无法访问到继承到的
    • 接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public

    4. public 

    • 较好理解,都能访问

    Runoob汇总表格如下:

  • 相关阅读:
    前端 时间转换为时间戳 时间戳转时间
    RT, 吞吐量,并发用户数,QPS名词解释
    Bluetooth开发资料的收集
    Day20_学成在线项目就业指导
    Day20_docker相关xml
    Day20_Jenkins安装文档
    八段锦口诀
    Day20_GitLab安装文档
    Day20_GitCommand
    Day20_DevOps
  • 原文地址:https://www.cnblogs.com/Kinghao0319/p/13908555.html
Copyright © 2011-2022 走看看