在Java中适用时使用“final”修饰符

在Java中,有一种做法是声明每个变量(本地或类),参数最终如果它们是真的。

虽然这使代码变得更加冗长,但这有助于轻松阅读/掌握代码,并且可以防止错误,因为意图清晰标记。

你对此有何想法?你有什么看法?


我认为这一切都与良好的编码风格有关。 当然,你可以在任何地方不使用大量final修饰语的情况下编写出性能良好,功能强大的程序,但是当你考虑它时......

对所有不应改变的事物添加final只会缩小您(或下一位程序员,处理您的代码)会误解或滥用导致您的代码的思考过程的可能性。 至少当他们现在想要改变你以前不可改变的事情时,它应该敲响一些钟声。

起初,在你的代码中看到很多final关键字看起来很尴尬,但很快你就会停止注意到这个词本身,并且会简单地认为,这个东西永远不会从这一点改变(你可以把它从我身上取出;-)

我认为这是很好的做法。 我并不是一直都在使用它,但是当我能够做到这一点并且为final标签做出final我会做到这一点。


迷恋:

  • 最终字段 - 将字段标记为最终强制它们在构造结束时设置,使字段引用不可变。 这允许安全地发布字段并且可以避免在稍后的读取中同步的需要。 (请注意,对于对象引用,只有字段引用是不可变的 - 对象引用涉及的内容仍然可以更改,并影响不可变性。)
  • 最终静态字段 - 尽管我现在对许多使用静态最终字段的情况使用枚举。
  • 考虑但慎重使用:

  • 最终课程 - 框架/ API设计是我考虑的唯一案例。
  • 最终方法 - 基本上和最终课程一样。 如果你使用模板方法模式,如疯狂和最终标记东西,你可能过于依赖继承,而不是足够的委派。
  • 忽略除非感觉肛门:

  • 方法参数和局部变量 - 我很难做到这一点,主要是因为我很懒,我发现它混乱了代码。 我会完全承认,我不会修改的标记参数和局部变量是“更加直接的”。 我希望这是默认的。 但事实并非如此,我发现代码更难以通过总决赛来理解。 如果我在别人的代码中,我不会把它们取出来,但是如果我正在编写新的代码,我不会把它们放入。一个例外情况是您必须标记最终的东西,以便您可以访问它来自匿名的内部类。

  • 在使用之前,你真的需要了解最终关键字的完整使用。 它可以应用于并对变量,字段,方法和类有不同的影响

    我建议查看下面链接到的文章以获取更多详细信息。

    最终的词在最终的关键字

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

    上一篇: Using the "final" modifier whenever applicable in Java

    下一篇: Method override returns null