Java 中的 final 对象2025年3月17日 | 阅读 3 分钟 在 Java 中,final 是一个关键字,它确保了原始类型、方法、变量类等的不变性。它被视为不可访问的修饰符。如果我们想使用 final 关键字,我们必须在变量、方法和类之前指定它。它限制了我们访问变量、方法和类。如果我们想让对象成为 final 怎么办?因此,在本节中,我们将讨论 **final 关键字与 Java 对象结合使用**。此外,我们将讨论 **final 对象与不可变对象之间的区别**。 Final 对象如果我们对对象使用 final 关键字,这意味着引用不能被更改,但它的状态(实例变量)可以被更改。 将对象引用变量声明为 final 与 final 变量略有不同。在这种情况下,对象字段可以更改,但引用不能更改。请注意,它也适用于集合。 当一个集合被标记为 final 时,这意味着只有它的引用不能被更改,但值可以被添加、删除或修改。 以下代码片段演示了如何声明 final 对象。 如果我们实例化 Demo 类,由于 obj 是 final 的,我们将无法为其属性分配其他值。 让我们通过一个 Java 程序来理解这个概念。 FinalObjectExample1.java 输出 The value is: 11 即使它被声明为 final,我们也可以轻松地获取和设置 final 对象的值。但以下操作是不允许的。 Final 对象与不可变对象在 Java 中,final 对象和不可变对象并不相同。它们之间存在细微的差别。 FinalJava 中的 final 关键字用于变量、方法和类之前,使其不可变或不可更改。final 关键字限制用户使用变量、方法和类。它适用于所有类型的变量,如实例变量、静态变量和局部变量。当一个变量被声明为 final 并赋值后,我们就不能更改该变量的值。final 方法不能被子类覆盖。声明为 final 的类不能被扩展。对于 final 对象,**字段可以更改,但引用不能更改**。 注意:对于 final 对象,内存中的值是对对象的引用,而不是实际的对象。不可变性不可变性意味着一旦我们创建了一个对象,我们就不能更改该对象的内容。如果我们尝试更改内容并成功进行了修改,在这种情况下,将创建一个新对象。如果没有更改内容,将重用现有对象。 以下 Java 程序演示了 final 和不可变性的概念。 FinalObjectExample2.java 输出 ![]() 在上面的 Java 程序中,我们观察到以下几点:
下一个主题Java OCR |
外星人词典问题通过分析排序的单词列表来确定未知语言字符的顺序。它根据字符优先级构建有向图,检测循环以确保存在有效顺序,并应用拓扑排序以找到正确的序列……
阅读 6 分钟
? 在 Java 中,菱形问题与多重继承有关。有时也称为致命菱形问题或致命的死亡菱形。这样的挑战之一是“菱形问题”,它出现在多重继承的上下文中。在本节中,我们将...
5 分钟阅读
Java 作为使用最广泛的编程语言之一,提供了强大的异常处理机制,帮助开发人员有效地识别和处理运行时错误。异常消息在此过程中起着至关重要的作用,因为它们提供了关于异常性质和原因的宝贵信息……
阅读 4 分钟
在 Java 中,归约(reduction)是一种终端操作,它将流聚合为一种类型或基本类型。Java 8 提供的 Stream API 包含一组预定义的归约操作,例如 average()、sum()、min()、max() 和 count()。这些操作通过组合元素来返回一个值…
5 分钟阅读
String 类的 regionMatches() 方法有两种变体,可用于测试两个字符串区域是否匹配或相等。此方法有两种变体,即一种忽略大小写,另一种区分大小写。regionMatches() 方法用于...
阅读 4 分钟
在 Java 中,先决条件是指在任何特定方法或操作可以开始执行之前必须达到的状态或条件。它有助于检查所有方法的参数是否正确,以及对象或系统的状态是否适合……
5 分钟阅读
Java 数据库连接 (JDBC) 是一个 Java API,它使 Java 程序能够访问和操作存储在数据库中的数据。JDBC 提供了一组通用的类和接口来连接数据库、运行 SQL 命令以及检索数据。称为 JDBC 驱动程序的软件元素...
阅读 4 分钟
在编程中,将一种类型转换为另一种类型是一个关键任务。有时我们需要将一种类型转换为另一种类型。在 Java 转换部分,我们已经讨论了各种类型的转换。在本节中,我们可以讨论如何将十六进制转换为...
7 分钟阅读
在上一个部分,我们讨论了许多通常在面试中会问到的数字程序。在本节中,我们将讨论什么是三次方数以及如何检查一个数字是否是三次方数。三次方数:如果一个数 T 满足……
5 分钟阅读
ORM 代表对象关系映射。它是一种位于 Web 应用程序和数据库之间的中间件应用程序或工具。它在 API 中封装了存储驱动程序的特定实现细节。什么是 ORM?ORM 是一种将 Java 对象和关系之间的数据转换的技术...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India