我与 IBM Rational Software Architect for Websphere Software(RAD) 合作并运行了代码分析器。我收到警告说自定义 Java Exception 类应该是最终的。但没有正当理由。无论如何,对于某些要求,我们必须扩展自定义异常类以维护异常层次结构。所以 final 是没有用的。在某些情况下,如果我们想限制对象的创建,我们可以将构造函数标记为私有(private)。
那么,任何人都可以告诉我为什么自定义异常类应该是最终的吗?
最佳答案
我建议您参阅 Effective Java 一书:Josh Bloch 以充分的论据指出将类标记为最终类或记录扩展点以保持不变性并防止意外行为。
我指的是 Item 17 (继承或禁止的设计和文件)
无论如何,这可能只是一个建议,如果您确信可以忽略它 - 这只是为了确保您已经考虑过了。
关于java - 为什么自定义异常 java 类应该是最终的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16643501/