zoukankan      html  css  js  c++  java
  • java中的访问修饰符

     Java有四种访问权限,其中三种有访问权限修饰符,分别为privatepublicprotected,还有一种不带任何修饰符。其中default代表缺省的访问权限,具体到代码中就是不写任何修饰符的默认情况。为了好表示为暂且命名为default

     
    public 
    protected
    private
    default
     
     
     

    顶层代码资源的访问控制

    对于文件级别(top-level) 的  class,interface,enum来说,有2种访问修饰符:public 和 默认的 defalut
     
    public:可以在任何其他地方使用的代码资源( class,interface,enum)。
     
    default:只能在同一个包中使用的 class,interface或 enum。其他包不能使用。
     
     
    java的源代码文件规定:一个.java文件只能有一个修饰为public的 class ,interface,或者enum,并且这个文件的名称必须和这个public修饰的同名。一般习惯是一个public 修饰的class, interface, enum 对应单独放在1个.java文件中。
     
     
     

    类成员的访问修饰符

     
    public:成员可以被任何其他代码访问使用。
    protected:本类中直接访问,同一个包的其他代码可以直接访问,任何子类也可以直接访问。
     
     
    default:对于同一个包中的其他代码,可以直接访,相当于public,而不是同一个包的其他代码,则相当于private ,隐藏。
     
     
    private:只能在本类中访问使用。
     
     
     
     
    权限修饰符privatedefaultprotectedpublic
    同一个类 √   √ √ 
    同一个包   √   √
    不同包的子类     √ 
    其他      
     
     
     
    父类的 private 成员不会被子类继承,子类不能访问。但是子类对象的确包含父类的私有成员。
    父类的 default 成员 继承为子类的package成员。就好像他们直接定义在子类中一样。
    父类的 protected 成员继承为子类的protected 成员。就好像他们直接定义在子类中一样。
    父类的 public  成员继承为子类的public 成员,就好像他们直接定义在子类中一样。
     
     
     
     
     
  • 相关阅读:
    隐藏滚动条但可用滚动
    封装axios,带请求头和响应头
    文本超出显示...
    设置vue-quill-editor禁止输入或编辑
    element-ui select多选情况下获取label和value
    处理vue-quill-editor回显数据的时候没有空格问题
    Redis学习之路(二)Redis集群搭建
    redis requires Ruby version >= 2.2.2问题
    Redis学习之路(一)Redis简介
    Logstash学习之路(五)使用Logstash抽取mysql数据到kakfa
  • 原文地址:https://www.cnblogs.com/lulipro/p/6116094.html
Copyright © 2011-2022 走看看