如何在运行时创建对象?

时间:2009-12-21 06:13:37

标签: java arrays

我需要在运行时创建一个类的许多不同对象。该数字也在运行时确定。

如果我们在运行时获得int no_o_objects = 10之类的话。 然后我需要实例化一个类10次 感谢

5 个答案:

答案 0 :(得分:9)

了解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();
    }

  }
}

答案 1 :(得分:0)

Java中的对象仅在运行时创建。

试试这个:

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
}

答案 2 :(得分:0)

这样做。

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

答案 3 :(得分:0)

您可以使用数组或List,如下所示。

MyClass[] classes = new MyClass[n];

然后在循环中使用new MyClass()实例化n个类并分配给classes[i]

答案 4 :(得分:-1)

这是一个前瞻性的问题,完美的解决方案是使用java反射。您可以在运行时创建对象并根据需要进行转换。此外,可以使用此技术解决对象实例的数量。

这些是很好的参考:

Reference1

Reference2