1. 程式人生 > >【JAVASE】工具類防止呼叫者例項化

【JAVASE】工具類防止呼叫者例項化

工具類,開發中經常使用,可以實現方法和模組的更好的封裝,大家很多人呼叫的時候,對於一些人來說,很可能再去new一下。。。

一般採用的方法有兩種:

方法一:

把工具類定義為抽象類,抽象類是不可以被繼承的,但是我對這種方法持保留態度,因為很容易讓新手誤認為是用來繼承的。

 public abstract class AUtils(){...}

方法二:

從書上看到的技巧,個人比較喜歡。防止例項化的最好的方法就是把構造方法私有化,那麼呼叫者基本就沒有辦法例項化的。但是通過反射還是可以呼叫,我們這裡可以利用丟擲異常的方法,明確呼叫者不可例項化的事實。

public class AUtils(){

private AUtils(){

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

}

}