为什么 Java 工具类常常不被实例化以及此问题引发的思考

mac2025-04-10  4

文章目录

思考

java 工具类是可以实例化的,只是完全没有必要罢了,因为工具类实际上提供的是在一些业务中通用的方法调用,将其做成静态的非常合适,无需实例化,若实例化就需要一定内存空间,工具类直接提供静态方法就可以避免 new 工具类对象

工具类不想被实例化直接思路

给工具类创建一个私有构造器,如下:

public class A{ private class A(){} }

进一步思考

虽然使用了私有构造器,在外部构造会有异常,但实际上内部类可以实例化该类。若只是私有化构造器,也可以通过反射机制实例化该类。那这样是不是可以在私有构造器中添加一个异常,这样一旦这个有人想构造时候肯定会抛异常,如下

public class A{ private class A(){ throw new Error("此类不允许构造!"); } }

ok,现在问题成功解决!

最新回复(0)