一、局部变量权限修饰符
局部变量(方法体内)是没有显式修饰符的
二、类权限修饰符
同一个包中 | 不同的包中 | |
---|---|---|
public class | √ | √ |
class | √ | × |
- 类修饰符只有public一种
- public类不是必须的,java文件中可以没有public类
- 一个java文件中只能有一个public类,且public类名与java文件名一致
原因:编译器在编译过程中针对一个java文件只接受一个public类否则报错,是为了方便虚拟机在相应的路径周到相应的类所对应的.class文件(字节码文件)
三、类成员权限修饰符
同一个类中 | 同一个包中 | 不同包中的子类 | 不同包中的非子类 | |
private | √ | |||
default | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
类成员包括成员方法和成员变量
类是否有public修饰
如果没有则说明这个类只能被同一个包的类所访问(同一java文件中)或者引用(不同java文件中)不能被其他包的类使用访问,即可以在该访问类中创建被访问类的对象,引用即在java文件中import类并创建对象