工具類別(Utility Class)類似於 java.lang.Math,該類別提供公共靜態方法給外界使用。
因此工具類別並不需要該實體的產生,但編譯器會提供給每個類別一個對外的預設建構式。
因此我們必須修改預設建構式避免外部可以實體化工具類別。
public final class ExceptionPrinter { private ExceptionPrinter(){ //Prevents utility class being instantiated throw new AssertionError(); } public static void printError(String TAG, Exception e) { StringWriter errorMessage = new StringWriter(); e.printStackTrace(new PrintWriter(errorMessage)); Log.e(TAG, errorMessage.toString()); } }