在Java中使用final类
我正在阅读一本关于Java的书,它说你可以宣布整个班级都是final
。 我想不出任何我会使用它的地方。
我只是编程的新手,我想知道程序员是否真的在程序中使用它 。 如果他们这样做,他们什么时候使用它,这样我可以更好地理解它,并知道何时使用它。
如果Java是面向对象的,并且你声明了一个类final
,它不会阻止类具有对象特性的想法吗?
如果他们这样做,他们什么时候使用它,这样我可以更好地理解它,并知道何时使用它。
final
堂课只是一个无法扩展的课程。
(这并不意味着对类的所有对象的引用都会像final
被声明一样。)
如果在这个问题的答案中涵盖了最终声明的类是有用的:
如果Java是面向对象的,并且你声明了一个类final
,它不会阻止类具有对象特性的想法吗?
在某种意义上是的。
通过将类标记为final,可以禁用该代码部分的语言的强大而灵活的功能。 然而,有些类别不应该(并且在某些情况下不能)被设计为以良好的方式考虑子类别。 在这些情况下,将班级标记为最终班级是有意义的,即使它限制了面向对象。 (不过请记住,最后一堂课仍然可以延续另一个非最终课。)
相关文章:Java:何时创建最终的类
在Java中,具有final
修饰符的项目不能更改!
这包括最终类,最终变量和最终方法:
出于安全原因,当你想阻止类的继承时,final是重要的一种场景。 这使您可以确保您正在运行的代码不会被某人覆盖。
另一个场景是优化:我似乎记得Java编译器内嵌了来自最终类的一些函数调用。 所以,如果你调用ax()
而a被声明为final
,那么我们在编译时知道代码将会是什么,并且可以内联到调用函数中。 我不知道这是否实际完成,但最终它是一种可能性。
上一篇: Use of final class in Java
下一篇: Does use of final keyword in Java improve the performance?