Java 面试题
目录

Java 中如何获取一个类的 Class 对象?

· 约 2 分钟读完 · 第 34 / 274 章

推荐答案

在 Java 中,获取一个类的 Class 对象有以下几种常见方式:

  1. 使用 .class 语法:

  2. 通过对象实例调用 getClass() 方法:

  3. 使用 Class.forName() 方法:

本题详细解读

1. 使用 .class 语法

.class 语法是最直接的方式,适用于在编译时已知类名的情况。它返回该类的 Class 对象,且不会触发类的初始化。

示例:

2. 通过对象实例调用 getClass() 方法

getClass() 是 Object 类的一个方法,因此所有 Java 对象都可以调用它来获取其运行时类的 Class 对象。这种方式适用于已经有一个对象实例的情况。

示例:

3. 使用 Class.forName() 方法

Class.forName() 方法通过类的全限定名(包括包名)来加载类并返回其 Class 对象。这种方式适用于类名在运行时才确定的情况。需要注意的是,Class.forName() 会触发类的初始化。

示例:

注意事项

  • 类初始化:Class.forName() 会触发类的静态初始化块执行,而 .class 语法和 getClass() 不会。
  • 异常处理:Class.forName() 可能会抛出 ClassNotFoundException,因此需要捕获或声明抛出该异常。
  • 性能:.class 语法通常是最快的,因为它不涉及方法调用或类加载过程。