为什么将Spring源代码中的“ NestedExceptionUtils”声明为抽象类?

时间:2018-12-24 14:51:10

标签: java spring

我在Spring中找到了一个名为NestedExceptionUtils的util类,并将其声明为抽象类,为什么要抽象?要防止实例吗?但是另一个类没有声明为抽象类!如“ BeanDefinitionReaderUtils”。我什么时候应该这样做?

1 个答案:

答案 0 :(得分:0)

NestedExceptionUtils包含一个public static方法,没有派生类(在Spring内)。这表明阻止实例化是abstract

在Java中创建实用工具类的另一种更好的方法是声明一个类final并定义一个private无参数构造函数。这比abstract实用程序类要好,因为它还会抑制extend实用程序类。


Spring不是由一个人编写的,这可以解释为什么不同的实用程序类以不同的方式编写。