以下选项中关于java中获取class对象的方式正确的是
时间: 2024-02-21 09:58:57 浏览: 64
Java中可以使用以下方式获取Class对象:
1. 使用`Class.forName(String className)`方法:该方法根据类的全限定名(包含包名)获取Class对象,如果类不存在或无法加载,会抛出`ClassNotFoundException`异常。例如,`Class.forName("java.lang.String")`返回`String`类的Class对象。
2. 使用`.class`语法:使用该语法可以在编译时获取Class对象,例如,`String.class`返回`String`类的Class对象。
3. 使用对象的`.getClass()`方法:该方法返回对象的Class对象。例如,`"hello".getClass()`返回`String`类的Class对象。
示例代码:
```java
public class GetClassExample {
public static void main(String[] args) {
try {
// 使用Class.forName()方法获取Class对象
Class<?> stringClass = Class.forName("java.lang.String");
System.out.println("Class.forName() method: " + stringClass);
// 使用.class语法获取Class对象
Class<?> stringClass2 = String.class;
System.out.println(".class syntax: " + stringClass2);
// 使用对象的getClass()方法获取Class对象
String str = "hello";
Class<?> stringClass3 = str.getClass();
System.out.println("getClass() method: " + stringClass3);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
输出结果:
```
Class.forName() method: class java.lang.String
.class syntax: class java.lang.String
getClass() method: class java.lang.String
```
注意:以上方法获取的是Class对象,不同于对象本身,如果需要获取对象的实例信息,可以使用反射机制中的相关方法。
阅读全文