关于J2EE工具类的怎么声明最优雅?

  一般针对工具类,既不需要创建,也不需要继承扩展。工具类中方法声明为static方法,那么应该采用哪种格式哪?

一般采用两种格式:

(1) 将工具类声明为抽象类。

 

public abstract class GenericTypeResolver

 采用这种的主要有名的Spring框架。

 

Spring的JdbcUtils类如下:

public abstract class JdbcUtils
{

    public JdbcUtils()
    {
    }

 

 

优点:在子类中可以去扩展的,所以采用抽象的类,但是不能创建。

 

(2)将工具类声明为公共类,创建私有构造;

public  class GenericTypeResolver
{

    private GenericTypeResolver()
    {
    }
    .................................
 
}

 

采用这种方式的有JDK中采用这种方式的有Math类

源码如下:

public final class Math {

    /**
     * Don't let anyone instantiate this class.
     */
    private Math() {}

 

禁止让子类继承采用public final Class Math并且构造函数为私有的。

 

 

 

 

你可能感兴趣的:(spring,jdk,框架)