黑马程序员技术交流社区
标题:
反射疑惑
[打印本页]
作者:
当我遇上你
时间:
2015-1-14 22:33
标题:
反射疑惑
本帖最后由 当我遇上你 于 2015-1-14 23:01 编辑
package Test;
import java.lang.reflect.Method;
import java.util.Scanner;
import java.util.jar.Attributes.Name;
/*编写一个类A,增加一个实力方法showString,
* 用于打印一条字符串,在编写一个类TestA ,作为客户端,
* 用键盘输入一个字符串,该字符串就是类A的全名,
* 使用反射机制创建该类的对象,并调用该对象中的方法showString */
public class Test4 {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner("Test.DemoTest");
String str = scanner.nextLine();
String[] str1=str.split("\\.");
String name=str1[1];
Class clazz=name.class;
Object instance = clazz.newInstance();
Method method = clazz.getMethod("showString", String.class);
method.invoke(instance, "abc");
}
}
class DemoTest
{
public static void showString(String str)
{
System.out.println(str);
}
}
复制代码
一道关于反射的题目:
编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,该字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString
以下是我写的代码,但是键盘输入的是String,如何让计算机把它当做类名呢?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2