package cn.ms.test; public class GetClassObject { public static void main(String[] args) { getClassObjectMethod1(); getClassObjectMethod2(); getClassObjectMethod3(); } /* * 方式一 * 通过对象获得 * */ private static void getClassObjectMethod3() { GetClassObject getClassObject1 = new GetClassObject(); System.out.println(getClassObject1.getClass().getName()); } /* * 方式二 重点掌握 * 通过给定类的字符串名称(全类名)就可获得该类的字节码文件对象,更为扩展。 * (第一种和第三种都不具有扩展性) * */ private static void getClassObjectMethod2() { Class<GetClassObject> getClassObject2 = null; try { getClassObject2 = (Class<GetClassObject>) Class.forName("cn.ms.test.GetClassObject"); System.out.println(getClassObject2.getName()); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /* * 方式三 * 任何数据类型都有一个静态的属性 .class来获取其对应类的字节码文件对象 * 相对简单,但是还是要明确用到类中的静态成员。还是不够扩展! * */ private static void getClassObjectMethod1() { Class getClassObject3 = GetClassObject.class; System.out.println(getClassObject3.getName()); } }
转载于:https://www.cnblogs.com/ms-grf/p/9026343.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101668.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...