【java基础】从反射开始(Reflection)
Java学习笔记 https://github.com/SnailDev/java-learning 和我一起启程... 反射(Reflection) 定义 在运行状态中, 对于任意的一个类,都能够知道这个类的所有属性和方法; 对于任意的一个对象,都能够调用他的任意一个方法和属性; 这种动态获取类的信息以及动态调用对象的方法的功能称做Java的反射机制。 功能 只要给定类的全名,即可获取类的所用信息; 运行时获取任意一个对象所属的类对象; 运行时获取类中所有属性对象,可对其操作(包含私有属性); 运行时获取类中、父类中所有方法,可对其调用。 应用 目前主流的应用框架如Struts2、Hibernate、Spring、SpringMVC等的核心全部都是利用Java的反射机制来实现的。 组成 Class Constructor Field Method 类的类型(Class) 常用方法 getName() 获得类中完整名称 getDeclaredFields() 获取类中所有属性(含私有) getDeclaredMethods() 获取类中所有方法(含私有) getConstructors() 获取类的构造方法(不含私有) newInstance() 实例化类的对象(类的构造方法中参数需为空) 获取Class对象的方式 利用Class类forName(