黑马程序员技术交流社区

标题: 哈尔滨校区--技术交流帖--反射 [打印本页]

作者: 莫里亚蒂.微    时间: 2016-3-6 10:42
标题: 哈尔滨校区--技术交流帖--反射
//读取数据中的第一个元素,利用java反射机制创建对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
String line = null;
while((line = br.readLine()) != null){
        String[] ch = line.split(",");
        Class clazz = Class.forName(ch[0]);
        Object obj = clazz.newInstance();
}
//编写一个类A,增加一个实例方法showString,用于打印一条字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();
        A.showString(line);
        Class c = Class.forName("heima.mianshiti.A");// 获取字节码对象
        Method m = c.getMethod("showString", String.class);// 获取字节码对象对应的方法,并指定参数类型。
        m.invoke(c.newInstance(), line);// 运行对象中的方法,并传入参数。
        class A{
                public static void showString(String s){
                        System.out.println(s);
                }
        }
        
//通过反射创建一个对象,并且运行其中的私有方法
            Class c = Class.forName("com.itheima.Studetn");
            Constructor con = c.getConstructor();
            Object obj = c.newInstance();
            Method m = c.getDeclaredMethod("show", null);
            m.setAccessible(true);
            m.invoke(obj, null);




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