构造方法私有化_骰子

import java.util.Random;

/*
 *
 * 软件设计模式之单例模式,解决一个类只能创建唯一的一个对象这种情况
 *
 *
 * 骰子类,只能创建唯一的一个对象
 *  * 构造方法私有化
 *  * 在类中提供一个公开的,静态的获取实例的方法
 *  * 在类中声明一个私有的静态的属性, 就是这个类唯一的一个对象
 *
 */

public class ShaiZi{
    
    private static ShaiZi instance = new ShaiZi();
    
    private ShaiZi(){
        
    }
    
    
    /**
     * 返回骰子对象
     *
     */
    public static ShaiZi getInstance(){
        return instance;
        
    }
    
    /**
     * 返回摇骰子的方法,返回1-6的随机数
     */
    
    public int yao(){
        Random rm = new Random();
        int sum = rm.nextInt(6) + 1;
        return sum;
    }
    
}

public class Main {

    public static void main(String[] args) {
        
        //ShaiZi sz1 = ShaiZi.getInstance();
        //ShaiZi sz2 = ShaiZi.getInstance();
        //System.out.println(sz2 == sz2); //true
        //已经通过控制一个骰子类只能创建一个对象
        
        ShaiZi sz = ShaiZi.getInstance();
        System.out.println(sz.yao());
        
    }

}

猜你喜欢

转载自www.cnblogs.com/zwjcom/p/11136902.html
今日推荐