gpt4 book ai didi

java - HashMap 类中的 final方法

转载 作者:行者123 更新时间:2023-12-01 20:15:53 25 4
gpt4 key购买 nike

我刚刚浏览了openJDK8中HashMap的源代码,想了解虽然类TreeMap(static final class TreeNode)被声明为final,但该类中有一些方法被声明为final - 想了解其重要性。

由于该类被标记为final,该类无法扩展,因此它的方法无法被覆盖,我已经浏览了oracle文档,它说有时从构造函数调用的方法需要声明为final ,但是有一些方法不是从构造函数调用的,但它们仍然被声明为最终的。那么谁能帮我理解一下。

下面的链接有完整的代码:

http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/HashMap.java

最佳答案

方法声明中使用的final关键字与类声明中使用的final关键字的目的不同。

final 方法:-您可以将类的部分或全部方法声明为final。您可以在方法声明中使用final关键字来指示该方法不能被子类覆盖。 Object 类执行此操作 — 它的许多方法都是 final方法。

final class:- 你也可以将整个类声明为final。声明为final的类不能被子类化。例如,在创建像 String 类这样的不可变类时,这特别有用。

来源:- https://docs.oracle.com/javase/tutorial/java/IandI/final.html

关于java - HashMap 类中的 final方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52814722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com