工具類別(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());
}
}