一、目录
- Class类介绍
- Class类常用方法
- 获取Class对象的方式
二、Class类介绍
- Class也是类,因此也继承Object类。
- Class类对象不是new出来的,而是系统创建的。
- 对于某个类的Class类对象,在内存中只有一份,因为类只加载一次。
- 每个类的实例都会记得自己是由哪个Class实例所生成。
- 通过Class可以完整地得到一个类的完成结构,通过一系列API操作而得到类的各个成员。
- Class对象是存放在堆的。
- 类的字节码二进制数据,是放在方法区的,有的地方称为类的元数据(包括方法代码、变量名、方法名、访问权限等)。
三、Class类常用方法
方法名 |
功能 |
forName(String name) |
返回指定类名name的Class对象 |
newInstance() |
调用缺省构造函数,返回该Class对象的一个实例 |
getName() |
返回此Class对象所表示的实体(类、接口、数组类、基本类型等)名称 |
getMethod |
返回一个Method对象 |
getClass() |
输出Class对象的运行类型 |
getPackage() |
得到包名 |
getField(String name) |
返回指定属性名的值 |
set() |
通过反射给属性设值 |
getFields() |
一次性拿到所有属性 |
package com.javareflection;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class JavaClass {
public static void main(String[] args) throws