final
- final关键字是最终的意思,可以修饰类、方法、变量
- 修饰类:该类被称为最终类,特点是不能被继承
//final修饰的类,类不能再被继承了 final class A{} class B extends A{}//会报错
- 修饰方法:该方法被称为最终方法,特点是不能被重写了
- 修饰变量:该变量只能被赋值一次
- final可以防止指令重排序,保证多线程下的数据安全(进程是计算机最小的资源分配单位,线程是计算机中最小的执行单位)
注意事项
- final修饰基本类型的变量,变量存储的数据不能被改变
- final修饰引用类型的变量,变量存储的地址不能被改变,但地址所指向的内容是可以被改变的
常量
- 使用了static final修饰的成员变量就被称为常量
- 作用:通常用于记录系统的配置信息。
public class finalTest {public static final String my_name="zhangsan";public static void main(String[] args) {System.out.println(my_name);} }
使用常量记录系统配置信息的优势、执行原理
- 代码可读性更好,可维护性也更好
- 程序编译后,常量会被“宏替换”:出现常量的地方全部会被替换成其记住的字面量