--- title: Java SE笔记: Final关键字 date: 2016-08-08 21:20:00 updated: 2016-08-08 21:20:00 description: "Final关键字" categories: [个人笔记] tags: [Java, Java SE笔记] --- ### final表示不可改变的含义 1. 采用final 修饰的类不能被继承 2. 采用final 修饰的方法不能被覆盖 3. 采用final 修饰的变量不能被修改 4. final修饰的变量必须显示初始化`(该变量必须在构造方法运行结束之前赋上值,否则报错!)` 5. `如果修饰的引用,那么这个引用只能指向一个对象,也就是说这个引用不能再次赋值,但被指向的对象是可以修改的` 6. 构造方法不能被final 修饰 7. 会影响JAVA类的初始化:final 定义的静态常量调用时不会执行java 的类初始化方法,也就是说不会执行static代码块等相关语句,这是由java 虚拟机规定的。我们不需要了解的很深,有个概念就可以了。 8. `final修饰的成员变量一般和static联用。因为final修饰的成员变量不能改变,也就是说无论有多少对象,每个对象都会有一个值相等的成员变量,那么就没有必要把该变量放在堆中了,所以应该把该变量变为static的,从而放到方法区中!`