由浅入深理解----java反射技术

java反射机制详解

  java反射机制是在运行状态下,对任意一个类可以获取该类的属性和方法,对任意一个对象可以调用其属性和方法。这种动态的获取信息和调用对象的方法的功能称为java的反射机制


  1. class<?>类,在java.lang包下面,class类的实例表示正在运行的java应用程序中的类和接口                                       ♦、class是一个类,一个描述类的类(也就是描述类的本身),封装了描述字段的Field、方法Method和构造器的Constructor等属性               ♥、对象照镜子后可以得到的信息(某个类的数据成员、方法和构造器、某个类到底实现了那些方法)                                   ♣、对于每个类而言,JRE都为其保留一个不变的Class类型的对象                                                       ♦、Class对象只能有系统创建对象                                                                          ♠、一个类在jvm中只会有一个实例                                                                           注意:class没有公共构造方法,class是在加载类时由java虚拟机已经调用类的加载器中的defineClass方法自动加载的、                
  2. 、继承了java.lang.Object实现了Serializable、AnnotatedElement、GenericDeclaration、Type、
  3. 、涉及的相关方法   
  4. 、反射的好处 :大大增强了程序的可扩展性
  5. 、反射的基本步骤  1、获取Class对象 2、实例化对象 3、访问对象的属性、方法等。。 
  6. 、获取此Class对象有三种方式   Class.forName(classname) 用于做类加载 2、obj.getClass()用于获得对象的类型 3、类名.class
  7. 、创建对象的两种方式  1、调用空参数的构造函数 2、调用带参数的构造函数 
  8. 、利用newInstance() 创建对象 ,调用的对象必须有无参的构造器
  9. 、ClassCloader类加载器                                                                               类加载器是用来把类装载到jvm中,jvm规范中定义了两种类加载器,启动类加载器和用户自定义类加载器。jvm在运行时会产生三个类加载器组成的 初始化加载器层次结构 引导类加载器、扩展类加载器和  系统类加载器                                                          
原文地址:https://www.cnblogs.com/hanxue112253/p/8479549.html