使用单例模式的思想实现多例模式(Multiton),确保系统中某个类的对象只能存在有限个,例如两个或三个,设计并编写代码实现一个多例类。
实现代码:
单例类Multiton : package Singleton;
import java.util.*;
public class Multiton { //两个或者三个 private static ArrayList<Multiton> multitonList = new ArrayList<>(); private final static int NUMBER=3;
private Multiton(){
}
public static Multiton getInstance() { // TODO: implement if (multitonList.size()<NUMBER){ System.out.println("创建新实例成功"); Multiton current = new Multiton(); multitonList.add(current); return current; }else{ System.out.println("不能创建更多的实例"); return multitonList.get(new Random().nextInt(multitonList.size())); } }
} 客户端类Client : package Singleton;
public class Client { public static void main(String[] args) { Multiton m1 = Multiton.getInstance(); Multiton m2 = Multiton.getInstance(); Multiton m3 = Multiton.getInstance(); Multiton m4 = Multiton.getInstance(); System.out.println("m1==m2:"+(m1==m2)); System.out.println("m2==m3:"+(m2==m4)); System.out.println("m3==m4:"+(m3==m4)); } } |