packagereflect;importjava.lang.reflect.*;classReflectTest{publicstaticvoidmain(String[]args)throwsException{System.out.println(args.length);if(args.length==1){Classcc=Cla...
package reflect;
import java.lang.reflect.*;
class ReflectTest
{
public static void main(String[] args)throws Exception
{
System.out.println(args.length);
if (args.length == 1)
{
Class cc = Class.forName(args[0]);
try
{
Class[] params = new Class[1];
params[0] = int.class;
Constructor con = cc.getConstructor(params);
System.out.println(con);
}
catch (Exception ex)
{
System.out.println("error: " + ex.toString());
}
Class[] params1 = new Class[]{Integer.TYPE};
Constructor con1 = cc.getDeclaredConstructor(params1);
System.out.println(con1);
}
}
}
class Point
{
int x;
int y;
Point(){}
Point(int x)
{
this.x = x;
}
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
}
结果:
警告:[unchecked] 对作为普通类型 java.lang.Class 的成员的 getConstructor(java.lang.Class>...) 的调用未经检查
Constructor con = cc.getConstructor(params);
^
警告:[unchecked] 对作为普通类型 java.lang.Class 的成员的 getDeclaredConstructor(java.lang.Class>...) 的调用未经检查
Constructor con1 = cc.getDeclaredConstructor(params1);
请问为什么出现这种情况, 怎么解决?
展开