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

  • 相关阅读:
    POJ 1741
    POJ 3107
    权限管理
    用户和组
    软件包管理简介
    制作网线
    认识vim编辑器
    linux 进阶命令
    linux 目录&基础命令
    在raw_input()中使用中文提示,在CMD下中文乱码问题解决。。。
  • 原文地址:https://www.cnblogs.com/hfumin/p/10105364.html
Copyright © 2011-2022 走看看