java 如何防止类被实例化

我们在写代码过程中,常常会定义一些工具类,这些类的所有方法都是静态的,所以这些类的实例化是没有必要的,那么如何保证这些类不被实例化呢

  • 方法1:将该类定义成抽象类
    这种方式虽然能避免该类不能被创建实例,但是他的子类可以创建对象
  • 方法2:将该类的构造方法私有化
    这种方式正常情况下,不能new对象,但是,可以通过java反射,来创建对象,所以该方式也不可行
  • 方式3:在方法2的基础上,在私有构造方法中,抛出异常
public class UntilityClass {
	private UntilityClass() {
		throw new AssertionError();
	}
}

你可能感兴趣的:(java,java)