黑马程序员技术交流社区
标题:
反射调用函数与对象调用的区别
[打印本页]
作者:
高双武
时间:
2011-11-18 20:10
标题:
反射调用函数与对象调用的区别
下面这段代码
String str2="asd";
Method methodCharat=String.class.getMethod("charAt", int.class);
methodCharat.invoke(str2, 1);
这是反射调用,这种方法与直接用str2.charAt(1)调用有什么区别?反射调用的目的是什么?
作者:
徐杨
时间:
2011-11-18 20:56
想要运行一个类,必须先要获取到该类的字节码文件对象。
而解剖使用的就是Class类中的方法。所以先要获取到每一个字节码文件对应的Class类型的对象
反射的意义在于 反射就是加载类,并解剖出类的各个组成部分。在你不知道类中有什么的情况下可以解剖出类中所有的方法属性对象等
作者:
柴亚飞
时间:
2011-11-18 21:27
个人感觉,区别是编译时检查的条件不同。直接调用时,String必须是已经存在的类,方法也必须存在,且调用时会检查方法的参数类型(参数类型不固定)。而反射调用检查的是invoke方法的参数,invoke的参数是固定的类型,一个是对象引用,一个是字符串。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2