权限修饰符
访问权限修饰符
public
公有protected
保护private
私有
Class访问权限
- 类不能被
private protected
修饰(除了内部类) - 默认是包级访问权限
类成员变量访问权限
- 默认为包级访问权限,同一个包内的其他类可以访问,但是其他包的类无法访问;
- public 任何类都能访问
- protected 同一个包内的其他类可以访问,继承的子类可以访问,其他包的类无法访问
- private 仅该类的其他方法可以访问,当然内部类也可以访问,其他类无法访问
类方法访问权限
同类成员变量.
其他修饰符
static
- 成员变量,类成员变量,为类本身所有,而非实例化对象所有,只有一份;
- 成员方法,无需实例化就可以直接使用该方法;
- 代码块,修饰一段代码,得放在类里面而不是方法里面;
public class Test { static { int i = 3; String str = "Hello"; } ... }
- 静态内部类,修饰内部类
- 静态导包,导入类内的静态方法,如:
import static java.lang.Double.parseDouble;
final
- 修饰类,该类不能再派生出子类
- 修饰方法,子类无法覆盖该方法
- 修饰变量,不能修改其本身的值,所以在声明的时候就要进行初始化,不过也有空白final,延迟到构造器中进行初始化
private final int i; public Test() { // 未对i进行初始化则编译报错 i = 3; }
- 类中的所有private方法都被隐式的加上了final