获取Class实例有四种方法,前三种方法比较常用,具体描述如下:
以下示例都假设运动时类为String类。
1:通过运行时类本身的.class属性:
Class c1 = String.class;
2:通过运行时类的对象获得:
String str = new String();
Class c2 = str.getClass();
3:通过Class的静态方法获得:
Class c3 = Class.forName(className);
4:通过类的装载器获得:
ClassLoader cl = this.getClass().getClassLoader();//this代表调用此方法的对象
Class c4 = cl.loadClass(className);
注意:1与2相似,3与4相似(此处的相似是以错误提示时机为分界)。这两组的大致区别就是前一组在你编写的时候发生错误会提示,而后一组的className写错,在编写时是不知道的,只有在运行时才发现无此类。