【Java基础】反射篇

前言:java如何在运行时识别对象和类的信息.有两种实现方式

  1. 传统RTTI

  2. 反射

RTTI和反射有什么区别?

对RTTI来说,编译器在编译时打开和检查.class文件而反射机制来说,.class文件在编译时是不可获取得,所以在运行时打开和检查.class文件()

反射是框架设计的灵魂

原理:反射首先是能够获取到Java中的反射类的字节码,然后将字节码中的方法,变量,构造函数等映射成 相应的 Method、Filed、Constructor 等类

应用:取出类的modifiers,数据成员,方法,构造器,和超类
找出某个接口里定义的常量和方法说明.
取得和设定对象数据成员的值,如果数据成员名是运行时刻确定的也能做到.
在运行时刻调用动态对象的方法.

一、反射的概述
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.

二 反射的作用
总结:通过Class类与java.lang.reflect类库一起对反射进行支持
反射的使用网上教程很多,研究Class类,Filed,Method,Constructor,Modifier类即可掌握反射

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章