在 Java 中,类名.class 是一种获取该类的 Class 对象 的语法。
1、Class 对象 是 Java 反射机制的核心,它包含了与类相关的元数据信息,例如:
类名
字段(成员变量)
方法
构造器
父类信息
实现的接口等
通过 Class 对象,你可以在程序运行时动态地获取和操作类的结构。
2、获取 Class 对象的三种主要方式对比:
| 方式 | 语法 | 特点 | 适用场景 |
| 类名.class | String.class | 最直接,不会触发类的初始化(静态代码块不会执行) | 编译时已确定要操作的类 |
| Class.forName() | Class.forName("完整类名") | 较灵活,会触发类的初始化(静态代码块会执行) | 运行时通过字符串配置来决定加载哪个类 |
| 对象.getClass() | obj.getClass() | 需要已有对象实例,会执行构造方法 | 在已有一个对象,需要确认其具体类型时 |
3、一个简单的示例:
public class MyClass {
public static void main(String[] args) {
// 使用 类名.class 获取 Class 对象
Class<?> clazz = MyClass.class;
// 通过 Class 对象获取类信息
System.out.println("Class Name: " + clazz.getName());
System.out.println("Is Interface: " + clazz.isInterface());
}
}
💡 实用建议:
如果你只是想快速获取一个在代码中明确知道的类的 Class 对象(比如 String 或自定义的 MyClass),直接使用 类名.class 是最简单高效的选择。
2547

被折叠的 条评论
为什么被折叠?



