package verify;
public class ClassObject {
public static void main(String[] args) {
getClassObjectMethod1();
getClassObjectMethod2();
getClassObjectMethod3();
}
/*
* 方式一 通过对象获得
*/
private static void getClassObjectMethod3() {
ClassObject getClassObject1 = new ClassObject();
System.out.println(getClassObject1.getClass().getName());
}
/*
* 方式二 重点掌握 通过给定类的字符串名称(全类名)就可获得该类的字节码文件对象,更为扩展。 (第一种和第三种都不具有扩展性)
*/
private static void getClassObjectMethod2() {
Class<ClassObject> classObject = null;
try {
classObject = (Class<ClassObject>) Class.forName("verify.ClassObject");
System.out.println(classObject.getName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/*
* 方式三 任何数据类型都有一个静态的属性 .class来获取其对应类的字节码文件对象 相对简单,但是还是要明确用到类中的静态成员。还是不够扩展!
*/
private static void getClassObjectMethod1() {
Class<ClassObject> classObject = ClassObject.class;
System.out.println(classObject.getName());
}
}