获取Class对象的其他方式

简介: 获取Class对象的其他方式

在使用getClass()方法获取一个类的Class对象时,我们必须要先获取这个类的对象,比如上面提到的wanger。如果我们之前没有获取这个类的对象,就需要用另外两种方式来获取类的Class对象:

Class c2 = Writer.class;
System.out.println(c2.getName());

try {
    Class c3 = Class.forName("com.cmower.java_demo.fifteen.Writer");
    System.out.println(c3.getName());
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

1)当使用.class来获取Class对象时,不会自动地初始化该Class对象,初始化被延迟到了对静态方法或者非final静态域进行首次引用时才执行。这样做不仅更简单,而且更安全,因为它在编译时就会受到检查(因此不需要置于try语句块中)。

2)Class.forName会自动地初始化该Class对象,但需要指定类名,并且需要置于try语句块中。

相关文章
|
6月前
|
Java
java反射-获取类的Class对象方式
java反射-获取类的Class对象方式
|
7月前
|
C++
【C++基础】类class
【C++基础】类class
37 1
|
7月前
|
Java
获取 Class 对象
获取 Class 对象
35 1
|
安全 Java 编译器
java(Class 常用方法 获取Class对象六种方式 动态和静态加载 类加载流程)
java(Class 常用方法 获取Class对象六种方式 动态和静态加载 类加载流程)
850 0
CLASSPATH环境属性
CLASSPATH环境属性自制脑图
70 0
CLASSPATH环境属性
20、利用class创建对象,防止数据覆盖
20、利用class创建对象,防止数据覆盖
53 0
|
Java Spring
FileSystemResource和ClassPathResource有何区别?
FileSystemResource和ClassPathResource有何区别?
FileSystemResource和ClassPathResource有何区别?
|
JavaScript 前端开发 Java
创建Class类的实例对象的三种方法
创建Class类的实例对象的三种方法
259 0