- package com.itheima;
- /*import java.lang.reflect.Constructor;
- import java.lang.reflect.Method;*/
- /**
- *
- * 第7题:编写一个类,增加一个实例方法用于打印一条字符串。并使用反射手段创建该类的对象, 并调用该对象中的方法。
- *
- * @author hp-pc
- *
- * */
- public class Test7
- {
- public static void printString(String str)
- {
- System.out.println(str);
- }
-
- public static void main(String[] args) throws Exception
- {
-
- /*
- * 方法一:创建Sample对象
- *
- * try
- { //加载类,获得Sample类的Class对象
- Class clazz = Class.forName("com.itheima.Sample");
- //加载无参构造函数
- Constructor constructor = clazz.getConstructor(null);
- //创建Sample对象
- Sample s = (Sample) constructor.newInstance(null);
- //获得自定义实例方法
- Method method = clazz.getMethod("print", null);
- //调用该方法
- //输出结果:黑马!我来了!!!
- method.invoke(s, null);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- */
-
- //方法二:
- //反射创建对象
- Test7 t = Test7.class.newInstance();
- //反射调用对象中的方法
- Test7.class.getMethod("printString", String.class).invoke(t, new String("老师您辛苦了!!!嘿嘿"));
-
- }
- }
复制代码 |
|