final
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() {
return "eat";
}
}
final类
用final类修饰的类叫做final类。final类通常功能是完整的,他们不能被继承。Java中有许多类是final的,比如String,Integer以及其他的包装类。
使用final的好处
final提高了性能。JVM和Java应用都会缓存final变量final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销