我需要在运行时创建一个类的许多不同对象。该数字也在运行时确定。
如果我们在运行时获得int no_o_objects = 10之类的话。 然后我需要实例化一个类10次 感谢
答案 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反射。您可以在运行时创建对象并根据需要进行转换。此外,可以使用此技术解决对象实例的数量。
这些是很好的参考: