18. 【推荐】final 可以声明类、成员变量、方法、以及本地变量,下列情况使用 final 关键字:
1. 不允许被继承的类,如:String 类。
2. 不允许修改引用的域对象,如:POJO 类的域变量。
3. 不允许被重写的方法,如:POJO 类的 setter 方法。
4. 不允许运行过程中重新赋值的局部变量。
5. 避免上下文重复使用一个变量,使用 final 描述可以强制重新定义一个变量,方便更好 地进行重构。
static表全局或静态的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。
被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建