我一直在经历this tutorial据我了解,单例类只能初始化一次。因此我写了以下1行代码:
public synchronized static DefaultHttpClient getThreadSafeClient {
**System.out.println("this should only happen once!!");**
然后我在 MainActivity 的按钮中编写了以下代码行:
HttpClient httpclient = multithreaded_httpclient.getThreadSafeClient();
HttpClient httpclient1 = multithreaded_httpclient.getThreadSafeClient();
然后我多次按下按钮,令我惊讶的是我在我的 logcat 中发现了这个:
这应该只发生一次 这应该只发生一次 这应该只发生一次 这应该只发生一次
我认为单例类的方法只执行一次......这怎么可能?
最佳答案
似乎存在与Singletons
相关的小误解。
单例只能初始化一次,这意味着它只能有一个实例。当然,静态方法每次调用时都会执行,但返回的实例始终是相同的。
关于java - 单例类不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21651393/