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

后端 未结 8 1715
礼貌的吻别
礼貌的吻别 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:32

    Instanciate your class via a factory (see design patterns) and limit it to 3 instances using a simple counter.

    0 讨论(0)
  • 2020-12-10 19:32

    why not assign limInstance=null ; in else case in getLimInstance() ? in that case it will not provide obj3 duplicates ?

     public static synchronized InstanceClass getLimInstance()
    {
            if(objCount < 3 ){
                limInstance = new InstanceClass();
            }
            else
            {
                limInstance=null;
            }
            return limInstance;
        }
    
    
    public class LimitObjectCreationTest {
    
    
       public static void main(String[] args) {
        InstanceClass obj1 = InstanceClass.getLimInstance();
        InstanceClass obj2 = InstanceClass.getLimInstance();
        InstanceClass obj3 = InstanceClass.getLimInstance();
        InstanceClass obj4 = InstanceClass.getLimInstance();
        InstanceClass obj5 = InstanceClass.getLimInstance();
        InstanceClass obj6 = InstanceClass.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);
      }
    

    }

    Result was this :

    come.classinstance.InstanceClass@4a5ab2

    come.classinstance.InstanceClass@1888759

    come.classinstance.InstanceClass@6e1408

    null

    null

    null

    come.classinstance.InstanceClass@6e1408

    0 讨论(0)
提交回复
热议问题