How do I restrict object creation not more than 3 in Java class?

后端 未结 8 1719
礼貌的吻别
礼貌的吻别 2020-12-10 18:25

How do I restrict object creation not more than 3 in Java class?

Can you give me an idea of how I can to do it?

8条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-10 19:10

    public class LimitClass {
        private static List ObjectPool = new ArrayList();
        public static int objCount = 0;
        private static Random randomizer = new Random();
        private LimitClass(){
            objCount++;
        }
        public static synchronized LimitClass getLimInstance(){
            if(objCount < 3 ){
                LimitClass lc = new LimitClass();
                ObjectPool.add(lc);
                return lc;
            }
            return ObjectPool.get(randomizer.nextInt()%3);
        }
    }
    
    public class LimitObjectCreationTest {
        public static void main(String[] args) {
            LimitClass obj1 = LimitClass.getLimInstance();
            LimitClass obj2 = LimitClass.getLimInstance();
            LimitClass obj3 = LimitClass.getLimInstance();
            LimitClass obj4 = LimitClass.getLimInstance();
            LimitClass obj5 = LimitClass.getLimInstance();
            LimitClass obj6 = LimitClass.getLimInstance();
            System.out.println(obj1);
            System.out.println(obj2);
            System.out.println(obj3);
            System.out.println(obj4);
            System.out.println(obj5);
            System.out.println(obj6);
            System.out.println(obj3);  
        }
    }
    
    
    
    
        LimitClass@1788a393
        LimitClass@460c2da6
        LimitClass@4283a56d
        LimitClass@460c2da6
        LimitClass@1788a393
        LimitClass@4283a56d
        LimitClass@4283a56d
    

提交回复
热议问题