final
- final关键字可以用于成员变量、本地变量、方法及类。
- 修饰方法:表示方法不能被重写。
- 修饰类:表示该类不能被继承。
- 修饰变量:表示常量,必须在声明时赋值,赋值后不能被修改。
- 接口中声明的所有变量本身是final的。
- 按照Java规范,final变量就是常量,通常变量名要大写。
static
- 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享。
- 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类。
- 静态块用法:将多个类成员放在一起初始化,使得程序更加规整,优点是可以优化程序性能,因为它只在类初始被加载时执行一次,其中理解对象的初始化过程非常关键。
- 静态导包用法:将类的静态方法导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便。
- static final用来修饰成员变量,即全局常量。