Java中的权限修饰符private、protected、public

时间:2023-03-08 17:35:45

java中的修饰符分类:

  • 权限修饰符: private, default, protected, public
  • 状态修饰符: static, final
  • 抽象修饰符: abstract

权限修饰符

我们来看看四种权限修饰符的权限大小
(注意:没有default这个关键字,它就是代表默认的意思,即什么修饰符也不加)
一般,默认的可见性就是包可见性(package visibility)
1. public修饰符
具有最大的访问权限,可以访问任何一个CLASSPATH下的类,接口、异常等。它往往对于对外的情况,
也就是对象或类对外的一种接口形式。
2. default
有时候也称friendly,它是针对本包访问而设计的,任何处于本包下的类,接口,异常等,都可以互相访问,
即使是父类没有用protected修饰的成员也可以。
3. protected修饰符
它的主要作用就是保护子类的。它的含义在于子类可以使用它修饰的成员,其他的不可以,它相当于
传递给子类的一种继承的东西。
4. private修饰符
它的访问权限仅限于类的内部,是一种封装(Java的三大特点之一,继承,封装和多态)的体现。例如,
大多数的成员变量都可以修饰为private,它们不希望被其他任何外部类访问。

看看这个表

本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类)
public 可见 可见 可见 可见
protected 可见 可见 可见 不可见
default 可见 可见 不可见 不可见
private 可见 不可见 不可见 不可见