开发者

How do I create objects at runtime?

开发者_开发知识库

I need to make a number of distinct objects of a class at runtime. This number is also determined at runtime.

Something like if we get int no_o_objects=10 at runtime. Then I need to instantiate a class for 10 times.

Thanks


Read about Arrays in the Java Tutorial.

class Spam {
  public static void main(String[] args) {

    int n = Integer.valueOf(args[0]);

    // Declare an array:
    Foo[] myArray;

    // Create an array:
    myArray = new Foo[n];

    // Foo[0] through Foo[n - 1] are now references to Foo objects, initially null.

    // Populate the array:
    for (int i = 0; i < n; i++) {
      myArray[i] = new Foo();
    }

  }
}


Objects in Java are only created at Runtime.

Try this:

Scanner im=new Scanner(System.in);
int n=im.nextInt();

AnyObject s[]=new AnyObject[n];
for(int i=0;i<n;++i)
{

     s[i]=new AnyObject(); // Create Object
}


This would do it.

public AClass[] foo(int n){
    AClass[] arr = new AClass[n];
    for(int i=0; i<n; i++){
         arr[i] = new AClass();
    }
    return arr;
}


You can use array or List as shown below.

MyClass[] classes = new MyClass[n];

Then instantiate n classes with new MyClass() in a loop and assign to classes[i].


This is an straingth forward question and the perfect solution is using java reflection. You can create objects and cast them as need while the runtime. Also the number of object instances can be solved with this technology.

These are good references:

Reference1

Reference2

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜