黑马程序员技术交流社区

标题: 反射的应用(reflect) [打印本页]

作者: 男人你得有范    时间: 2014-8-24 19:38
标题: 反射的应用(reflect)
  1. package com.itheima;

  2. /*import java.lang.reflect.Constructor;
  3. import java.lang.reflect.Method;*/

  4. /**
  5. *
  6. * 第7题:编写一个类,增加一个实例方法用于打印一条字符串。并使用反射手段创建该类的对象, 并调用该对象中的方法。
  7. *
  8. * @author hp-pc
  9. *
  10. * */

  11. public class Test7
  12. {
  13.         public static void printString(String str)
  14.         {
  15.                 System.out.println(str);
  16.         }
  17.        
  18.         public static void main(String[] args) throws Exception
  19.         {
  20.                
  21.                 /*
  22.                  * 方法一:创建Sample对象
  23.                  *
  24.                  * try
  25.                 {   //加载类,获得Sample类的Class对象
  26.                         Class clazz = Class.forName("com.itheima.Sample");
  27.                         //加载无参构造函数
  28.                         Constructor constructor = clazz.getConstructor(null);
  29.                         //创建Sample对象
  30.                         Sample s = (Sample) constructor.newInstance(null);
  31.                         //获得自定义实例方法
  32.                         Method method = clazz.getMethod("print", null);
  33.                         //调用该方法
  34.                         //输出结果:黑马!我来了!!!
  35.                         method.invoke(s, null);
  36.                 }
  37.                 catch (Exception e)
  38.                 {
  39.                         e.printStackTrace();
  40.                 }
  41.                 */
  42.                
  43.                 //方法二:
  44.                 //反射创建对象
  45.                 Test7 t = Test7.class.newInstance();
  46.                 //反射调用对象中的方法
  47.                 Test7.class.getMethod("printString", String.class).invoke(t, new String("老师您辛苦了!!!嘿嘿"));
  48.                
  49.         }
  50. }
复制代码

作者: 天黑偷牛    时间: 2014-8-26 09:57
不错,不错
作者: hyc845461500    时间: 2014-12-31 21:13
你的代码报错
作者: 古典牧童    时间: 2015-5-8 20:50
非常谢谢
作者: 刘旭波    时间: 2015-11-15 18:26
方法2代码编译没问题,可是运行报错呀
作者: 男人你得有范    时间: 2016-7-16 18:16
刘旭波 发表于 2015-11-15 18:26
方法2代码编译没问题,可是运行报错呀

应该把导入包的注释去掉就可以了吧{:2_30:}




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