Java中的final关键字
-
修饰变量:
- 基本类型变量:当final修饰基本类型的变量时,该变量被称为编译时常量,一旦初始化后,其值就不能再改变。
- 引用类型变量:当final修饰引用类型变量时,它并不保证引用的对象不可变,而是保证引用的地址不会改变,也就是说,一旦final引用变量被初始化指向某个对象,就不能再指向另一个对象,但是对象内部的状态是可以改变的。
-
修饰方法:
- 当一个方法被声明为
final时,表明这个方法不能被任何子类重写(override)。这意味着这个方法的行为在其所在的类中是固定的,子类不能提供不同的实现。
- 当一个方法被声明为
-
修饰类:
- 当一个类被声明为
final时,表示该类不能被继承。这样的类是最终类,不允许有任何子类。
- 当一个类被声明为
-
修饰局部变量:
- 在方法内部声明为
final的局部变量必须在声明时或者构造函数、初始化块中进行初始化,并且之后不能再更改其值。
- 在方法内部声明为
- 被final修饰的变量必须被显式第指定初始值,不可变指的是变量的引用不可变,不是引用指向的内容的不可变。
-
例如:
final StringBuilder sb = new StringBuilder("abc"); sb.append("d"); System.out.println(sb); //abcd
一张图说明:
-
![]()

浙公网安备 33010602011771号