final关键字

tim-qtp2025年2月8日...小于 1 分钟Java基础

①、当 final 修饰一个类时,表明这个类不能被继承。比如,String 类、Integer 类和其他包装类都是用 final 修饰的。

②、当 final 修饰一个方法时,表明这个方法不能被重写(Override)。也就是说,如果一个类继承了某个类,并且想要改变父类中被 final 修饰的方法的行为,是不被允许的。

③、当 final 修饰一个变量时,表明这个变量的值一旦被初始化就不能被修改。

如果是基本数据类型的变量,其数值一旦在初始化之后就不能更改;如果是引用类型的变量,在对其初始化之后就不能再让其指向另一个对象。

final int number = 10;
number = 20; // 这行代码会导致编译错误,因为number是final的,不能被重新赋值。
final StringBuilder builder = new StringBuilder("Hello");
builder.append(" World"); // 这是允许的,因为对象的状态可以改变
builder = new StringBuilder("New Value"); // 这行代码会导致编译错误,因为builder是final的,不能指向新的对象。