码迷,mamicode.com
首页 > 编程语言 > 详细

java反射

时间:2019-12-11 23:38:19      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:定义   功能   方法   其它   加载   class类   一个   用户   java反射机制   

一、概念:java反射机制:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象。反射就是把java类中的各种成分映射成一个个的java对象。【通俗点:正常的:知道这个类->就可以通过创建对象来调用类中的方法和属性。反射:通过已知对象,获取到相应的类,进而调用该类的其它:方法和成员。】

二、反射机制获取类的三种方法:
  1)直接通过类名.class的方式得到:clazz = person.class;#clazz其实就是我们所获得的类,只是为了与java的class不冲突而叫这个而已。
  2)通过对象的getClass()方法获取,这个使用的少(一般是不知道什么类型的时候才用):Object obj = new Person();clazz = obj.getClass();
  3)通过全类名获取,用的比较多,但可能抛出classNotFoundExcetion异常:clazz = Class.forName("com.java.reflection.person");

备注:
  1)利用Class类的newInstance()方法创建类对象时,调用的类必须要有无参的构造器。
  2)类加载器:classLoad是用来把class装载进jvm的,JVM规范定义了两种类型的类装载器:启动类装载器bootstrap和用户自定义装载器user-defined class loader。

java反射

标签:定义   功能   方法   其它   加载   class类   一个   用户   java反射机制   

原文地址:https://www.cnblogs.com/yangrongkuan/p/12026369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!