Java中修饰符主要分为两类
- 访问修饰符
- 非访问修饰符
修饰符用来修饰类, 方法,变量,通常放在被修饰内容的最前面。
访问控制修饰符
Java中访问控制修饰符4种:
- public :对所有类可见;使用对象:变量,方法,类,接口。
- protected:对同一包内的类和所有子类可见;使用对象:变量,方法。(注意:不能修饰类【外部类】)
- default:(即默认的,什么也不写)在同一包内可见,不使用任何修饰符。使用对象:变量,方法,类,接口。
- private:对同一包内的类和所有子类可见。使用对象:变量,方法。(注意:不能修饰类【外部类】)
可以看下表来说明访问权限
访问控制 | |||||
修饰符 | 当前类 | 同一包内 | 子孙类(同一包) | 子孙类(不同包) | 不同包 |
public | √ | √ | √ | √ | √ |
protected | √ | √ | √ | 看情况 | |
default | √ | √ | √ | ||
private | √ |
protected 需要从以下两个点来分析说明:
-
子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;
-
子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。
非访问修饰符
非访问修饰符包括
- static:静态的,使用对象变量,方法。
- final:最终的,使用对象变量,方法,类。
- abstract:抽象的,使用对象方法,类。
- synchronized :同步的,使用对象主要的线程的编辑
- ... ...