Java 中的 final 关键字
final关键字主要用在三个地方: 变量、方法、类
1.修饰变量
对于一个final变量:
-
如果是基本数据类型的变量,其值一旦初始化,就不能修改
final double PI = 3.14; PI = 3.1415;此时会报错:Error:(6, 9) java: 无法为最终变量PI分配值
-
如果是引用类型的变量,对其初始化之后不能让其再指向别的对象,但是该对象属性可以改变
final StringBuilder sb = new StringBuilder("hello "); sb.append("world"); System.out.println(sb);此时会输出:hello world
StringBuilder sb1 = new StringBuilder(); sb = sb1;此时会报错:Error:(11, 9) java: 无法为最终变量sb分配值
2.修饰方法
用final修饰的方法不能被重写
class father {
public final void fun () {}
}
class son extends father {
public void fun () {}
}
此时会报错:Error:(26, 17) java: package.son中的fun()无法覆盖package.father中的fun()
被覆盖的方法为final
3.修饰类
用final 修饰的类不能被继承,final类中的方法都会隐式的指定为final方法
final class father {
}
class son extends father {
}
此时会报错:Error:(18, 19) java: 无法从最终package.father进行继承
Java中final关键字详解

本文详细解析了Java中final关键字的使用场景,包括修饰变量、方法和类的规则及注意事项,帮助开发者理解final如何保障代码的稳定性和安全性。
2万+

被折叠的 条评论
为什么被折叠?



