黑马程序员_Java反射技术(一),黑马程序员_java反射
黑马程序员_Java反射技术(一),黑马程序员_java反射
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
反射就是把Java中和各种成分映射到相应的Java类。字节码就是Java对象在内存的表现形式。
例如:一个java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法。
java类的Class类提供一系列方法来获得变量,方法,构造方法,修饰符,包等信息。这些信息就是用相应的实例对象来表示,它们是Field,Method,Contructor,Package等。
得到对象的字节码方法:
1:类名.class 例如:System.class
2:对象.getClass 例如:new Date().getClass()
3:Class.forName("类名") 例如:Class.forName("java.util.Date");
下面举例说说:
Class<?> clazz = String.class;//得到字符串类的字节码
Constructor constructor = clazz.getConstructor(StringBuffer.class);//用反射方式取得字符串类的带有一个参数为StringBuffer类型的构造函数
Method methodCharAt=clazz.getMethod("charAt", int.class);//用反射方式用取得字符串类的charAt方法
methodCharAt.invoke("abcd",3);//用反射方式调用字符串类的charAt方法
相关文章
- 暂无相关文章
用户点评