在Java中使用final类

我正在阅读一本关于Java的书,它说你可以宣布整个班级都是final 。 我想不出任何我会使用它的地方。

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

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


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

final堂课只是一个无法扩展的课程。

(这并不意味着对类的所有对象的引用都会像final被声明一样。)

如果在这个问题的答案中涵盖了最终声明的类是有用的:

  • 在Java中禁止继承的好理由?
  • 如果Java是面向对象的,并且你声明了一个类final ,它不会阻止类具有对象特性的想法吗?

    在某种意义上是的。

    通过将类标记为final,可以禁用该代码部分的语言的强大而灵活的功能。 然而,有些类别不应该(并且在某些情况下不能)被设计为以良好的方式考虑子类别。 在这些情况下,将班级标记为最终班级是有意义的,即使它限制了面向对象。 (不过请记住,最后一堂课仍然可以延续另一个非最终课。)


    相关文章:Java:何时创建最终的类


    在Java中,具有final修饰符的项目不能更改!

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

  • 最终的课程不能由其他课程扩展
  • 最终变量不能被重新分配给另一个值
  • 最后的方法不能被覆盖

  • 出于安全原因,当你想阻止类的继承时,final是重要的一种场景。 这使您可以确保您正在运行的代码不会被某人覆盖。

    另一个场景是优化:我似乎记得Java编译器内嵌了来自最终类的一些函数调用。 所以,如果你调用ax()而a被声明为final ,那么我们在编译时知道代码将会是什么,并且可以内联到调用函数中。 我不知道这是否实际完成,但最终它是一种可能性。

    链接地址: http://www.djcxy.com/p/20853.html

    上一篇: Use of final class in Java

    下一篇: Does use of final keyword in Java improve the performance?