本文共 1911 字,大约阅读时间需要 6 分钟。
单例模式虽然说只有一个类,但是在应用中,作用也不小,下面看看单例模式和工厂模式的应用:
1)懒汉式单例模式
public class UserManager { //实例化静态变量 private static UserManager instance=new UserManager(); private UserManager(){} //获取唯一实例 public static UserManager getInstance(){ return instance; } } 2)恶汉式单利模式 public class UserManager { //实例化静态变量 private static UserManager instance=null; private UserManager(){} //获取唯一实例 public static UserManager getInstance(){ if (instance==null){ instance=new UserManager(); } return instance; } }
1)电视接口及其实现类:
电视接口: public interface TV{ //打开电视 public void openTV(); //关闭电视 public void closeTV();} 海尔电视:public class HaiErTV implements TV{ //打开电视 @Override public void openTV(){ System.out.println("打开海尔电视"); } //关闭电视 @Override public void closeTV(){ System.out.println("关闭海尔电视"); }} 长虹电视:public class ChangHongTV implements TV{ //打开电视 @Override public void openTV(){ System.out.println("打开长虹电视"); } //关闭电视 @Override public void closeTV(){ System.out.println("关闭长虹电视"); }} 2)电视工厂接口及其实现类 电视工厂: public interface TVFactory { //创建电视 public TVcreateTV(); } 海尔电视工厂:public class HaiErTVFactory implements TVFactory { //创建海尔电视 @Override public TV createTV(){ System.out.println("创建海尔电视"); return new HaiErTV(); }} 长虹电视工厂:public class ChangHongTVFactory implements TVFactory { //创建长虹电视 @Override public TV createTV(){ System.out.println("创建长虹电视"); return new ChangHongTV(); }} 3)客户端调用 TVFactory tvFactory=new HaiErTVFactory(); TV tv=tvFactory.createTV(); tv.open();
转载地址:http://oezhd.baihongyu.com/