【JAVASE】工具类防止调用者实例化

来源:互联网 发布:gradle mac 环境变量 编辑:程序博客网 时间:2024/05/02 04:29

工具类,开发中经常使用,可以实现方法和模块的更好的封装,大家很多人调用的时候,对于一些人来说,很可能再去new一下。。。


一般采用的方法有两种:


方法一:

把工具类定义为抽象类,抽象类是不可以被继承的,但是我对这种方法持保留态度,因为很容易让新手误认为是用来继承的。

 public abstract class AUtils(){...}


方法二:

从书上看到的技巧,个人比较喜欢。防止实例化的最好的方法就是把构造方法私有化,那么调用者基本就没有办法实例化的。但是通过反射还是可以调用,我们这里可以利用抛出异常的方法,明确调用者不可实例化的事实。


public class AUtils(){

private AUtils(){

throw new Error("不可实例化");

}

}

0 0
原创粉丝点击