首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 运行时部类识别(RTTI) - 2 - 反射

2012-09-18 
java 运行时类型识别(RTTI) - 2 - 反射java 运行时类型识别(RTTI) - 1 - Class与instanceofjava 运行时类

java 运行时类型识别(RTTI) - 2 - 反射

java 运行时类型识别(RTTI) - 1 - Class与instanceof

java 运行时类型识别(RTTI) - 2 - 反射

?

本文将叙述如何运行时查看类信息,其中包括变量,方法,以及通过反射修改变量,执行方法等

包括如何反射匿名内部类及如何执行其方法,但是笔者强烈不建议这么做,这里只是演示反射而已

?

下面是一个测试类

?

打印结果

?

?

结果如下

?

输出

结果如下

?

结果如下

?

try {Class<Outer> clazz = Outer.class;Outer o = new Outer("");//System.out.println(o.ti.test());Field field = clazz.getDeclaredField("ti");TestInterface testInterface = (TestInterface) field.get(o);System.out.println(testInterface.test());}catch (SecurityException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (NoSuchFieldException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}

?

为了演示反射,这里没有使用System.out.println(o.ti.test());

?

至此,反射演示结束

由于写本篇blog的时候多次修改代码,所以上面可能有些地方不太一致,如果发现,敬请指正

?

热点排行