java反射
反射机制
- 指的是可以于运行时加载,探知和使用编译期间完全未知的类.
- 反射(Reflection)是java被视为动态语言的一个关键特性;
- 反射机制指的是程序在运行时能够获取任何类的内部所有信息;
- 加载完类之后, 在堆内存中会产生一个Class类型的对象(一个类只有一个Class对象), 这个对象包含了完整的类的结构信息,而且这个Class对象就像一面镜子,透过这个镜子看到类的结构,所以被称之为:反射。
Class对象的获取
- 对象的getClass()方法;
- 类的.class(最安全/性能最好)属性;
- 运用Class.forName(String className)动态加载类,className需要是类的全限定名(最常用).
-
//获取Class对象第一种方式 Class class1 = Class.forName("com.oaec.user.User"); //获取Class对象第二种方式 Class class2 = User.class; //获取Class对象第三种方式 Class class3 = (new User()).getClass();
创建对象:获取类以后我们来创建它的对象,利用newInstance:
Class c =Class.forName("Employee");
//创建此Class 对象所表示的类的一个新实例
Objecto = c.newInstance(); //调用了Employee的无参数构造方法.
Class对象的机制与实现
1、Class对象概述
1)Class其实就是类的类型
2)字符串类型就是String,整形类型就是Integer,String和Integer类型就是Class
2、Class对象的常用方法介绍
Field对象的机制与实现
1、Field对象概述
1)Java.lang.reflect.Field类,是用于表示类中、接口中属性对象的类。
2)可以操作类中私有,以及公有等全部属性和属性的信息。
2、Field对象的常用方法介绍