public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
Class<?> c1 = null;//声明一个Class对象
try {
c1 = Class.forName("cn.itcast.test.Person");//实例化Class对象
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Person p = null;//声明一个Person对象
//通过反射取得Class中所有的构造方法
Constructor<?> cons[] = c1.getConstructors();
//调用构造函数
try {
p = (Person)cons[0].newInstance("小忽悠",23);
//p = (Person)c1.newInstance();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以上是部分代码,
p = (Person)cons[0].newInstance("小忽悠",23);
p = (Person)c1.newInstance();
这两种实例化对象在反射里面有什么区别?求高手!!!
第二种方式我运行程序会报错...
|