A a = new A();
// 如何通过反射获取a.b.c.Text值,这里只是例子还有很多不知道类型和层次。
Class clazz = Class.forName("A");//首先这个类名是运行时传给你的,你只管用,你生成的是A在内存里的一份字节码,用这份字节码可以去构造 对 象或者获得属性
System.out.println(clazz.getName());//这不就是a的值吗 这就是通过字节码获得A的名字
Field field = clazz.getField("b");//然后通过字段类,获得该类当中的属性,但是你要声明这个属性石属于哪个A对象,就是相面的 调用get方法就行了
System.out.println(field.get(a).getClass().getName());//这不就是b的值吗
Class clazzC = Class.forName("C");
Field field1 = clazzC.getField("Text");
System.out.println(field1.get(clazzC.newInstance()));//道理同上 |