设计模式-单例模式实例

(1)案例背景:

在实际的运用中,我们有时一个类不止需要产生一个对象,可能需要两个或者三个。在课上我们讲过,使用单例模式的思想可以实现多例模式,从而确保系统中某个类的对象只能存在有限个,请设计并实现代码,从而实现多例模式

(2)实现步骤:

  • 由于本题的实现较为复杂,所以我们直接给出参考类图(见下一页)
  • 根据类图,实现多例模式的代码

(3)案例总结:

单例模式主要适用于:

  • 系统只需要一个实例对象,或者因为资源消耗太大而只允许创建一个对象
  • 客户调用类的单个实例只允许使用一个公共访问点,除了该公共访问点,不能通过其他途径访问该实例
  • 根据不同的需求,也可以按照单例模式的思想来实现多例模式

 

 

 

三、主要实验内容及结果:

代码结构:

 

 

 

 

 

详细代码:

Multiton.java:

package Multion;


public class Multiton {

    private static Multiton multiton1 = new Multiton();

    private static Multiton multiton2 = new Multiton();



    private Multiton(){}



    public static Multiton getInstance(int random){

        if (1 == random){

            return multiton1;

        }else {

            return multiton2;

        }

    }



   public synchronized void random(){

        int random = (int) (Math.random()*3+1);

   }



}

 


 
Client.java:
package Multion;



public class Client {

    private static Multiton multiton1;

    private static Multiton multiton2;

    private static Multiton multiton3;



    public static void main(String[] args) {

      System.out.println("详细设计实验报告  1904班白旭君  2019005368");

 





        multiton1 = Multiton.getInstance(1);

        multiton2 = Multiton.getInstance(2);

        multiton3 = Multiton.getInstance(3);



        System.out.println(multiton1 == multiton2);

        System.out.println(multiton2 == multiton3);





    }

}

 

 


 
实验结果截图:

 

 


说明第一次和第二次都创建了新的对象,而第三次没有创建新对象,仍然是第二次的对象。

 

 

 
 
posted @ 2022-04-22 10:07  临易  阅读(531)  评论(0编辑  收藏  举报