用代码给你例子:
import java.util.*;
public class A{
List list = null;
static int b;
int a = 0;
private A(){ //这虽然是使用了private声明的构造函数
//但是在使用newInstance()方法时调用的是这个构造函数
//如果类中声明了其他构造函数且没有默认构造函数的话,会出错。
//你可以试一下注释掉这个构造函数。
a+=b++;
}
public A(Object o){ //与前一个构造函数作对比。
a-=b++;
}
List getList(Object o){
List list = new ArrayList();
try {
for(int i = 0 ; i < 10 ; i++ ){
Object b = o.getClass().newInstance();
list.add(b);
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public static void main(String[] args){
A a = new A();
a.list = a.getList(a);
for(Object o:a.list){
System.out.println(((A)o).a);
}
}
}