简单理解Class类就是用来操作.class文件
package com.lang; public class ClassTest { public static void main(String[] args) { //简单理解Class类就是用来操作.class文件的,可以看成是class的文件对象,或者可以理解为装有.class内容的对象 //1.利用Class根椐路径的字符串产生类的对象 StringTest st = new StringTest(); try { Class c = Class.forName("com.lang.StringTest");//得到指定中路径下的.class文件 Object obj = c.newInstance();//根椐得到这个.class文件产生的对象. StringTest st1 = (StringTest)obj; //强制转为StringTest,因为你知道加载的是什么类的.class st1.abc(); //其它得到Class对象的方式 //2.根椐对象得到.class,可能用于判断两个对象是否来自同一个类 Class c2 = st.getClass(); //3.根椐类名产生 Class c3 = StringTest.class; System.gc();//强行让垃圾回收器工作 } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //在实际程序运行时你不知道要用哪个类处理用户的请求,需要随时根用户产生对应类,有了Class这个对象 //就可以随时来处理。 }