使用单例类实例作为类级变量是可以接受的吗?

时间:2014-03-18 22:47:41

标签: java class variables singleton

我有一个单身人士课程。 MsgLog

我可以像下面这样使用这个课吗?这有什么不对吗?

public class SomeBean {
   MsgLog log = MsgLog.getInstance(); // IS THIS FINE?

   // some code
   private void someMethod() {
        log.printIt(" test ");
   }
}

2 个答案:

答案 0 :(得分:1)

是的,这是完全可以接受的,并且大多数人会认为这是使用Logger类的正确方法。这是另一个堆栈溢出答案,它解释得更好一点:

https://stackoverflow.com/a/4085524/2016771

答案 1 :(得分:1)

是的,没关系。你可能应该把它变成private static final

一般来说,单身人士存在问题;对于一个类来说,接受它依赖的构造函数参数比依赖单元的类更好。

但是许多代码特别对待日志记录,无论好坏。