反射
来源:互联网 发布:sql存储过程怎么写 编辑:程序博客网 时间:2024/06/10 20:15
反射
反射就是把一个java类中的每一个成分解析成一个个java类。
一个java类用一个Class类的对象来表示,一个类的组成部分:成员变量,方法,构造方法等信息用一个个的类来表示。这个类的Class需要提供一系列的方法来获得其中的变量,方法,构造方法,修饰符,包等信息,这些信息使用类的实例对象来表示,他们是Field,Method,Contructor,Package等。
一个class中的每个成员都可以用相应的API反射类的对象来表示。
当我们定义一个对象Person p= new Person(),java就从把person的字节码加载到内存中,然后用这个字节码产生对象。
每用到一个新类,就会加载一个新的字节码,每个字节码就是Class的实例对象。
对于Class对象,不存在可供调用的构造函数。
得到一个类的Class对象的方法:
- Person.class
- p1.getClass()
- Class.forName(“java.lang.String”).其中当jvm中没有这个加载这个类的时候,只能用3来获得这个类的Class。方法3最常见。
例子
使用反射,在字符串String str上调用str.charAt(1)方法
String str = “nuist”;
Method methodCharAt = String.class.getMethod(“charAt”, int.class);
char target = (char)methodCharAt.invoke(str,1);
System.out.println(target);
1 0
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- Java中的线程执行器总结
- 网络编程---UDP
- 新浪云SAE---git配置
- 使用Cognos 构建IT驱动的自助式分析
- ccah-500 第57题 Which two best describes how FIFO Scheduler arbitrates the cluster resources for job
- 反射
- CSS隐藏元素的五种方法
- mycat 的简单介绍之liunx安装 ---wanzuwodou
- CSS Margin(外边距)和Padding(填充)
- 第十四周项目:阅读程序(一)
- 小飞的电梯调度算法
- linux小组分享会_遗传算法
- 对文件夹中所文件(csv)进行读写操作
- Oracle DB 学习备注