package ObjectCollection;import java.lang.reflect.Constructor;public class Grouphog {
protected int number;
public Grouphog(int n) {
number = n;
}

public String toString() {
return "Grouphog #" +number;
}

public static void hogGroup(Class hogGroupClass) throws Exception {
Constructor con = hogGroupClass.getConstructor(new Class[] {int.class,int.class});
Grouphog g = (Grouphog)con.newInstance(new Object[] {new Integer(5),new Integer(6)});
System.out.println(g);
}

public static void main(String[] args) throws Exception {
hogGroup(Grouphog.class);
}
}运用Constructor 来构造有什么好处!?  迷惑

解决方案 »

  1.   

    使你不但可以实例化这个类,而且还可以得到这个类的很多其他的信息.
    java的反射机制
      

  2.   

    LZ的程序好有问题constrator的参数不匹配.
    要调用这个函数:
      public static void hogGroup(Class hogGroupClass) throws Exception {
            Constructor con = hogGroupClass.getConstructor(new Class[] {int.class,int.class});
            Grouphog g = (Grouphog)con.newInstance(new Object[] {new Integer(5),new Integer(6)});
            System.out.println(g);
        }
    必须得有:
     public Grouphog(int ,int) {
            //do init()
        }
      

  3.   

    Constructor能够提供关于类的单个构造方法的信息以及对它的访问权限
      

  4.   

    还可以用命令行去传递参数
    javac *.java class