首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式之多例模式Multiton

2012-09-07 
设计模式之多例模式Multiton多例模式 public class Die {private static Die die1 new Die()private st

设计模式之多例模式Multiton
多例模式

public class Die {    private static Die die1 = new Die();    private static Die die2 = new Die();    /**     * 私有构造函数保证 外界 无法直接将此类实例化     */    private Die() {    }

/**     * 工厂方法     * @param i     * @return     */    public static Die getInstance(int i) {        switch (i) {            case 0:                return die1;            case 1:                return die2;            default:                return null;        }    }

  /**     * 掷骰子 返回 1-6 之间的随机数     * @return int     */    public synchronized int dice() {        System.out.println("-----------------------------");        Date date = new Date();        Random random = new Random(date.getTime());        //random.nextInt()可能返回 负数        int value = Math.abs(random.nextInt())%6 + 1;        return value;    }}

public class DieTest extends TestCase {    public void testMain(){        Die die1 = Die.getInstance(0);        Die die2 = Die.getInstance(1);        System.out.println(die1.dice());        System.out.println(die2.dice());    }}

热点排行