四种权限修饰符

修饰符

权限修饰符:

  • public
  • protected
  • 默认
  • private

状态修饰符:

  • static

    • 静态的意思,可以修饰成员变量,成员方法,不能修饰类,不能修饰构造方法
    • 被修饰的变量,方法可以通过类名进行调用
  • final

    • 最终的意思,可以修饰类,成员变量,成员方法,不能修饰构造方法
    • 修饰的类不能被继承,被修饰的变量是常量,被修饰的方法不能被继承

抽象修饰符:


  • abstract

  • 抽象的意思,不能修饰构造方法,不能修饰成员变量,可以修饰类,成员方法
  • 被修饰的类不能被实例化,只能被继承,被修饰的成员方法在子类中必须被重写

四个权限修饰符:

  • public:(公共权限)

    可以修饰类,成员变量,成员方法,构造方法
    被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符

  • protected:(受保护权限)

    • 可以修饰成员变量,成员方法,构造方法,不能修饰类(外部类,内部类不考虑)
    • 被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
    • 如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
  • default(默认权限)

    • 类,成员变量,成员方法,构造方法都能使用默认权限,即不写任何关键字
    • 默认权限即同包权限,同包权限的元素只能在定义它们的类中使用,以及同包的类中被调用
  • private:(私有权限)

    • 可以修饰成员变量,构造方法,成员方法,不能修饰类(外部类,内部类不考虑)
    • 被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。

注意

  • 并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
  • 所有修饰符都可以修饰数据成员,方法成员,构造方法。
  • 为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,成员变量,如果没有特殊需要,尽可能用private.
  • 修饰符修饰的是”被访问”的权限
修饰符 同类中 同一个包中(子类和无关类) 不同包(子类) 不同包(无关类)
public Y Y Y Y
protected Y Y Y N
默认 Y Y N N
private Y N N N

猜你喜欢

转载自blog.csdn.net/yjh728/article/details/80632391
今日推荐