- final在Java中是一个保留的关键字,一旦将引用声明成final,那么我们就不能够改变这个引用了。
- final变量
凡是被final修饰的变量都叫做final变量。final变量经常和static一起使用,作为常量。final是只读的。
public static final String NAME = "Java"; - final方法
被final修饰的方法不可以被子类的方法重写。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时动态绑定。
public class Animal { public final String eat() { return "eat"; } } public class Dog extends Animal { @Override public String eat() { // Overriden method is final 不能覆盖final方法 return "eat"; } } - final类
用final类修饰的类叫做final类。final类通常功能是完整的,他们不能被继承。Java中有许多类是final的,比如String,Integer以及其他的包装类。
- 使用final的好处
- final提高了性能。JVM和Java应用都会缓存final变量
- final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销
|