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

  • 相关阅读:
    欧几里得算法
    匈牙利算法找二分图最大匹配
    hdu3374 String Problem(最小值表示法 + KMP)
    hdu6704 K-th occurrence(后缀数组+RMQ+主席树)
    洛谷 P3809 【模板】后缀排序
    hdu2222 【AC自动机】Keywords Search
    2019杭电多校十 1011 Make Rounddog Happy(rmq + 分治)
    Separate String(Ac自动机+dp)
    2019杭电多校二 I Love Palindrome String(回文自动机)
    HDU2451 Simple Addition expression(数位dp/找规律)
  • 原文地址:https://www.cnblogs.com/hfumin/p/10105364.html
Copyright © 2011-2022 走看看