一.static
static是静态修饰符,用于修饰类成员(变量,方法,代码块)
被修饰的类成员属于类,不必生成示例,即可直接调用属性或者方法。
关于代码块,被static修饰的代码块是静态代码块,直接的代码块是默认代码块。两者的区别:
class Test {
{{//默认代码块}static {// 静态代码块}
}}
默认代码块在类的每次实例化时执行,而静态代码块只在第一次触发类加载的时候执行(创建类的实例,访问类的静态成员,作为程序入口的主类时)
二.final
final用于表示“不可变”的情况,final修饰变量,类,方法。
修饰变量时,变量只能被赋值一次,之后不能被重写。
修饰类时,类不能被继承。
修饰方法时,方法不能被重写。