世界上最龌龊的种族本文探讨了在绑定中捕获并引入代码库时可以使用的四种技术,以提高开发的简易性和可读性。并非所有这些技术都适用于所有情况,甚至大多数情况。例如,可能只有少数方法适合协变返回类型,或者只有少数通用类适合使用交叉泛型类型的模式,而其他方法和类以及 try-with-resources 块等其他方法, 将提高大多数代码库的可读性和意图的清晰度。无论哪种情况,重要的是不仅要知道这些技术存在,还要知道何时明智地应用它们。
即使是最介绍性的 Java 操作手册也会包含有关继承、接口、抽象类和方法覆盖的材料页面,但即使是高级文本也很少探索覆盖方法时更复杂的可能性。例如,即使是最初级的 Java 开发人员,以下代码片段也不会感到惊讶:
创建资源类是一种常见做法,但该资源的完整性可能是一个具有挑战性的前景,尤其是在涉及异常处理时。例如,假设我们创建了一个资源类,
在几乎所有情况下,我们创建的类都可以由另一个开发人员扩展并定制以满足该开发人员的需求(我们可以扩展我们自己的类),即使扩展类并不是我们的意图。虽然这对于大多数情况来说已经足够了,但有时我们可能不希望方法被覆盖,或者更一般地说,我们不希望扩展我们的一个类。例如,如果我们
方法(如果这些方法中的逻辑发生变化,可能会导致文件系统损坏)。在这种情况下,我们将不可扩展的方法标记为
虽然我们编写的大部分代码只利用了 Java 的一小部分功能,但它足以解决我们遇到的大多数问题。但有时我们需要更深入地挖掘语言并清除语言中那些被遗忘或未知的部分以解决特定问题。其中一些技术,例如协变返回类型和交叉泛型类型,可以在一次性情况下使用,而其他技术,例如自动关闭资源和最终方法和类,可以并且应该更频繁地使用,以产生更具可读性和更精确的代码。将这些技术与日常编程实践相结合,不仅有助于更好地理解我们的意图,而且有助于更好地编写 Java。
网友评论 ()条 查看