static 修饰符
static 修饰符属于非访问修饰符,用来修饰类方法和类变量:
- 修饰变量(静态变量):被static修饰的变量,也成为类变量,静态变量属于类共有的变量,任何一个类修改该值,其余所有类对应该值都会变化;static不能修饰局部变量;
- 修饰方法(静态方法):被static修饰的方法,静态方法中不能使用类的非静态变量;
- static 可以修饰代码块;
- 被static修饰的变量、静态方法、代码块跟类调用同步进行,优先于类的构造器执行,并且只执行一次;
final修饰符
- 修饰变量:被final修饰的变量必须显示指定初始值,并且一旦赋值后就不能再改变变量值,它通常与static一起使用;
- 修饰方法:final修饰的方法不能修改,可以被子类继承,但不能重写;
- 修饰类:被final修饰的类不能被继承
访问修饰符
访问修饰符:public 、protected 、默认修饰符 、private
修饰符 | public | protected | 默认修饰符 | private |
---|---|---|---|---|
类 | √ | √ | √ | √ |
同包 | √ | √ | √ | × |
不同包的子类 | √ | √ | × | × |
不同包的非子类 | √ | × | × | × |