目录
java获取类对象(class)的三种方法三种方法总结
1.通过实例对象获取 实例对象.getClass()
2.通过类名获取 类.class
3.通过Class类静态方法获取 Class.forName(“全类名”)
java获取类对象(class)的三种方法
三种方法总结
通过实例对象获取(实例对象.getClass();)
通过类名.class获取(类名.calss)
通过类的静态方法获取(Class.forName(“全类名”))
1.通过实例对象获取 实例对象.getClass()
实现代码:
package com.liangyehao;
import java.util.Date;
public class Test01 {
public static void main(String[] args) throws IllegalAccessException, InstantiationException {
//通过实例化对象获取
Date date = new Date();
Class extends Date> dateClass = date.getClass();
System.out.println(dateClass);
}
}
输出结果:
1.png
2.通过类名获取 类.class
实现代码:
package com.liangyehao;
/**
* 获取一个类的class文件对象的三种方式
* 1.对象获取
* 2.类名获取
* 3.Class类的静态方法获取
*/
public class Test02 {
public static void main(String[] args) {
//通过类名获取
Class> dateClass = java.util.Date.class;
System.out.println(dateClass);
}
}
输出结果:
1.png
3.通过Class类静态方法获取 Class.forName(“全类名”)
实现代码:
package com.liangyehao;
/**
* 获取一个类的class文件对象的三种方式
* 1.对象获取
* 2.类名获取
* 3.Class类的静态方法获取
*/
public class Test03 {
public static void main(String[] args) throws ClassNotFoundException {
//通过Class类静态方法forName()获取
Class> dateClass = Class.forName(“java.util.Date”);
System.out.println(dateClass);
}
}
输出结果:
1.png
总结:
三种方式都十分简单,获取类对象是java反射的基础,下一章节我们将继续探讨这三种方式的差异。