一尘不染

Java中“最终类”的意义是什么?

java

我正在读一本关于Java的书,它说您可以将整个类声明为final。我想不出我会在哪里使用它。

我只是编程的新手,我想知道程序员是否真的在他们的程序上使用了它。如果他们这样做了,他们什么时候使用它,以便我可以更好地理解它,并知道何时使用它。

如果Java是面向对象的,并且您声明了一个类final,它是否会停止具有对象特征的类的想法?


阅读 1073

收藏
2020-03-02

共1个答案

一尘不染

如果他们这样做了,他们什么时候使用它,以便我可以更好地理解它,并知道何时使用它。

一个final类就是一个不能扩展的类。

(这并不意味着所有对该类对象的引用都将如同声明为一样起作用final。)

当将一个类声明为final有用时,请参见此问题的答案:

禁止在Java中继承的充分理由吗?
如果Java是面向对象的,并且你声明了一个类final,它是否会停止具有对象特征的类的想法?

从某种意义上说是的。

通过将一个类标记为最终类,可以禁用该部分代码的强大而灵活的语言功能。有些类然而,不应该(在某些情况下可以不)被设计充分继承考虑的一个好办法。在这些情况下,将类标记为最终类是有意义的,即使它限制了OOP。(但是请记住,最后一堂课仍然可以扩展另一个非最后一课。)

2020-03-02