例如:
将变量使用final
修饰,以防止变量被覆盖或修改:
public class Main { final int x = 10; final double PI = 3.14; public static void main(String[] args) { Main myObj = new Main(); myObj.x = 50; // 会产生一个错误: cannot assign a value to a final variable myObj.PI = 25; // 会产生一个错误: cannot assign a value to a final variable System.out.println(myObj.x); } }
1、定义和用法
final
关键字可以用来修饰引用、方法和类。
1)用来修饰一个引用
如果引用为基本数据类型,则该引用为常量,该值无法修改;
如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。
如果引用时类的成员变量,则必须当场赋值,否则编译会报错。
2)用来修饰一个方法
当使用final
修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。
3)用来修饰类
当用final
修改类时,该类成为最终类,无法被继承。