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

2022-08-31 04:09:05

我正在读一本关于Java的书,它说你可以将整个类声明为.我想不出任何我会用这个的地方。final

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

如果Java是面向对象的,并且你声明了一个类,它难道不会阻止类具有对象特征的想法吗?final


答案 1

首先,我推荐这篇文章:Java:何时创建最终类


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

类只是一个无法扩展的类。final

(这并不意味着对类对象的所有引用都将表现得好像它们被声明为 .)final

当将类声明为 final 很有用时,以下问题的答案中将介绍:

如果Java是面向对象的,并且你声明了一个类的最终版本,那么它不会阻止类具有对象特征的想法吗?

从某种意义上说,是的。

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


答案 2

在Java中,带有修饰符的项目无法更改!final

这包括最终类、最终变量和最终方法:

  • 最终类不能由任何其他类扩展
  • 不能为最后一个变量重新分配另一个值
  • 无法覆盖最终方法

推荐