final关键字
final关键字
final
关键字是一个修饰符,它可以用来修饰类、方法和变量。
-
final 类:当一个类被声明为
final
时,它不能被其他类继承。这意味着这个类是封闭的,不能有任何子类。public final class UtilityClass { // 类成员 }
-
final 方法:将方法声明为
final
可以防止子类重写该方法。这通常用于定义一个类中不应该被改变的行为。public class Parent { public final void show() { System.out.println("This method cannot be overridden"); } }
-
final 变量:对于基本数据类型的变量,声明为
final
意味着一旦给变量赋值后,就不能被重新赋值。对于引用类型的变量,final
只能保证引用本身不可变,但是被引用的对象的内容是可以改变的,除非对象本身是不可变的。public class Test { public final int value = 10; // 不能重新赋值 public final Object obj = new Object(); // 可以改变 obj 引用的对象的内容 }
-
final 参数:将方法参数声明为
final
可以防止方法内部修改参数的值。这有助于确保方法不会改变传入的参数。public void process(final int number) { // 方法内部不能给 number 赋新值 }
-
匿名内部类和局部类中的构造函数:在使用匿名内部类或局部类时,构造函数是
final
的,不能被子类重写。 -
final 在多态中的应用:当使用多态调用方法时,如果子类重写了父类的方法,并且该方法在父类中被声明为
final
,则子类中的方法调用将使用父类的实现。 -
final 在 Java 8 及以后版本中的局部变量:从Java 8开始,可以在方法中使用
final
声明的局部变量,这些变量可以被赋值一次后修改。public void updateValue(int initialValue) { final int value = initialValue; value += 5; // 合法,可以修改 final 局部变量的值 }
作者:静默虚空
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器