黑马程序员技术交流社区

标题: java反射的问题 [打印本页]

作者: 邱成    时间: 2012-9-11 23:08
标题: java反射的问题
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);






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2