Java 反射机制是 Java 语言提供的一种能力,它允许程序在运行时查询、访问和修改类和对象的属性和行为。以下是对 Java 反射机制的详细讲解:
基本概念
在 Java 中,反射是一个允许程序在运行时访问和操作类的对象和属性的机制。它使得程序能够:
- 动态地获取类的信息(名称、方法、字段等)。
- 创建对象实例。
- 调用方法。
- 访问和修改字段值。
核心类和接口
Java 反射机制主要涉及以下核心类和接口:
- Class:表示正在运行的类的实体。每个 Java 类都有一个 Class 类型的静态成员变量,名为 .class。
- Field:表示类的成员变量。
- Method:表示类的方法。
- Constructor:表示类的构造函数。
- Array:提供动态创建和访问 Java 数组。
获取 Class 对象
Class 对象是反射的核心。可以通过以下几种方式获取 Class 对象:
Class<?> clazz = Class.forName("com.example.MyClass");
使用类名获取。Class<?> clazz = MyClass.class;
使用 .class 直接获取。Class<?> clazz = myObject.getClass();
通过实例对象获取。