閱讀235 返回首頁    go 阿裏雲 go 技術社區[雲棲]


單態設計模式

 

package com.yanek.test;

public interface UserManager {

 public abstract void addUser();

}

 

 

 

package com.yanek.test;

public class UserManagerImpl implements UserManager {

 public void addUser() {

  
  System.out.println("hello world!");
  
 }

}

 

 

package com.yanek.test;

public class UserManagerFactory {
 

 private static UserManager userManager;

 private UserManagerFactory()
 {
 }

 public synchronized static UserManager getInstance()
 {
  if (!initialized)
   doInitialize();
  return userManager;
 }

 private static boolean initialized = false;

 private static synchronized void doInitialize()
 {
  if (!initialized)
  {
   userManager = new UserManagerImpl();
   initialized = true;
  }
 } 
 

 /**
  * @param args
  */
 public static void main(String[] args) {
  
  
  UserManager um1=UserManagerFactory.getInstance();
  
  UserManager um2=UserManagerFactory.getInstance();
  
  UserManager um3=UserManagerFactory.getInstance();
  
  System.out.println("um1="+um1);
  System.out.println("um2="+um2);
  System.out.println("um3="+um3);
  
  um1.addUser();
  um2.addUser();
  um3.addUser();
  

  
 }

}

 

 

 

最後更新:2017-04-02 06:51:45

  上一篇:go Android自定義標題欄:顯示網頁加載進度
  下一篇:go 6.1.6 Gallery結合案例詳解