zoukankan      html  css  js  c++  java
  • java-权限修饰符的区别

    说明:所谓访问权限,是指对象是否可以通过“.”运算符操作自己的变量或通过“.”运算符使用类中的方法。

     

    1、Java中的四种访问修饰符:public、protected、default(无修饰符,默认)、private。

     

    2、四种修饰符可修饰的成分(类、方法、成员变量)

     

    public

    protected

    default

    private

    ×

    ×(内部类可以用private修饰)

    方法

    成员变量

     

    3、四种修饰符的访问权限

      public:对所有类可见

      protected:对同一包中的类可见、对同一包及不同包中的子类可见

      default:对同一包中的类可见、对同一包中的子类可见

      private:仅对类本身可见   

      可见是可访问的意思,即由这些修饰符修饰的成分(类、方法、成员变量)可以被其它类访问。对子类可见即子类可以继承。

      这里需要注意的是protected与default,二者的区别在于不同包中的子类是否可以继承。

    访问权限

    同一包

    同一包中的子类

    不同包中的子类

    不同包

    public

    protected

    ×

    default

    ×

    ×

    private

    ×

    ×

    ×

    ×

     

     注:

     -  修饰符修饰变量或方法时:

     -  一个类中的实例方法总是可以操作该类中的实例变量和类变量;类方法总是可以操作该类中的类变量,与访问权限没有关系。

     -  private:如果Tom类中的某个成员是私有类变量(静态成员变量),那么在另外一个类中也不能通过类名Tom来操作这个私有类变量。如果Tom类中的某个方法是私有的类方法,那么在另外一个类中,也不能通过类名Tom来调用这个私有的类方法。

     -  private:对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。

     -  public:当在任何一个类中用类Tom创建了一个对象后,该对象能访问自己的public变量和类中的public方法。

     -  default:当在另外一个类中用类Tom创建了一个对象后,如果这个类与Tom类在同一个包中,那么该对象能访问自己的友好变量和友好方法。

     -  default:在源文件中编写命名的类总是在同一个包中。如果源文件使用import语句引入了另外一个包中的类,并用该类创建了一个对象,那么该类的这个对象将不能访问自己的友好变量和友好方法。

     -  protected:当在另外一个类中用类Tom创建了一个对象后,如果这个类与类Tom在同一个包中,那么该对象能访问自己的protected变量和protected方法。

     

     *  修饰符修饰类时:

     *  可以在任何另外一个类中,使用public类创建对象。

     *  如果一个类不加public修饰,这样的类被称为友好类,那么在另外一个类中使用友好类创建对象时,要保证它们在同一个包中。

    部分引用:https://www.cnblogs.com/deltadeblog/p/7123661.html

  • 相关阅读:
    CaseStudy(showcase)布局篇列表的排放与遮罩
    CaseStudy(showcase)布局篇全屏效果
    Css 学习
    JavaScript 学习之 修改对象创建新方法
    等额本息java实现
    纠结了一天的JAVA简单客户端服务器Socket编程终于解决了
    rhostudio备忘
    sql server学习
    enumeration学习
    cookie和session
  • 原文地址:https://www.cnblogs.com/hfumin/p/10105364.html
Copyright © 2011-2022 走看看