final 关键字的含义
Java保留关键字。可以声明成员变量、方法、类、以及本地变量。final变量是
只读的
。
final 变量
凡是对成员变量
或者本地变量(在方法中的或者代码块中的变量成为本地变量)声明为final的都叫做final变量。
final变量通常和static关键字一起使用,作为常量。
final 类
使用final 来修饰的类叫做final 类。final 类通常功能是完整的,他们
不能被继承
。
Java中有许多类是final的,譬如,String,Integer以及其他的包装类。如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
final 重要知识点
- final 关键字可以用于成员变量、本地变量、方法、以及类;
- final 成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误;
- 不能对final 变量再次赋值;
- 本地变量必须在声明时赋值;
- 匿名类中要访问外部的变量,外部变量必须定义成final的。;
- final 方法不能被重写,重载;
- final 类不能被继承;
- final 关键字不同于finally 关键字,后者用于异常处理;
- final 关键字易与finalize() 方法搞混,后者是在Object类中定义的方法,是在垃圾回收之前被JVM调用的方法;
- 接口中声明的所有变量本身是final的;
- final和abstract这两个关键字是相反的,final类就不可能是abstract的;
- 没有在声明时初始化final 变量的成为空白final 变量,他们必须在构造器中初始化,或者调用this() 初始化。否则会报错;
- final 方法在编译阶段绑定,称为静态绑定;
- 对于集合对象声明为final指的是引用不能被更改,但是你可以向其中增加,删除或者改变内容。