final 的用法 1、被修饰的==类不能被继承==。2、被修饰的==方法不能被重写==,JVM会尝试进行内联,提高运行效率。3、被修饰的常量,在==编译阶段会存入常量池中==。4、被修饰==变量不能被改变==。如果修饰引用,那么==表示引用不可变,引用指向的内容可变==。编译器对 final 域要遵循的两个重排序规则更好:(注意一下这个点)1、在构造函数内对一个 final 域的写入,与随后把这个构造函数对的应用赋值给一个引用变量,这两个操作之间不能被重排序。2、初次读一个包含 final 域得到对象的引用,与随后初次读取这个 final 域,这两个操作之间不能重排序。 1、被修饰的类不能被继承。 2、被修饰的方法不能被重写,JVM会尝试进行内联,提高运行效率。 3、被修饰的常量,在编译阶段会存入常量池中。 4、被修饰变量不能被改变。如果修饰引用,那么表示引用不可变,引用指向的内容可变。 编译器对 final 域要遵循的两个重排序规则更好:(注意一下这个点) 1、在构造函数内对一个 final 域的写入,与随后把这个构造函数对的应用赋值给一个引用变量,这两个操作之间不能被重排序。 2、初次读一个包含 final 域得到对象的引用,与随后初次读取这个 final 域,这两个操作之间不能重排序。