我在Spring中找到了一个名为NestedExceptionUtils的util类,并将其声明为抽象类,为什么要抽象?要防止实例吗?但是另一个类没有声明为抽象类!如“ BeanDefinitionReaderUtils”。我什么时候应该这样做?
答案 0 :(得分:0)
NestedExceptionUtils
包含一个public static
方法,没有派生类(在Spring内)。这表明阻止实例化是abstract
。
在Java中创建实用工具类的另一种更好的方法是声明一个类final
并定义一个private
无参数构造函数。这比abstract
实用程序类要好,因为它还会抑制extend
实用程序类。
Spring不是由一个人编写的,这可以解释为什么不同的实用程序类以不同的方式编写。