//读取数据中的第一个元素,利用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); |
|