我看到有人写了一个 java LOG API,就像下面的代码一样。这个想法是客户端不必每次都调用 LogUtil.getInstance()。但是我的感受是这不是java的惯用语吗?
public class LogUtil{
private static LogUtil instance;
private Object current;//some Logger
private static LogUtil getInstance(){
if(instance == null){
instance = new LogUtil();
}
return instance;
}
private static void debug(String text){
}
public static LogUtil init(){
//dosomething with
// getInstance().current;
return getInstance();
}
public static LogUtil logSomething(String text){
//dosomething with
// getInstance().current;
return getInstance();
}
public static LogUtil anotherMethod(String text){
//dosomething with
// getInstance().current;
return getInstance();
}
}
反对这种设计的论据是什么(使每个方法都是静态的)?