标签:
所有的类都是java.lang.Class类的实例。 通过a1,a2,a3,a4四种方式获得Class类实例。
通过已知不同的条件,或者为类名A,可通过Class a1 = A.class方式获取类,如果知道实例可以通过Class a2 = a.getClass();效果一样。
public class AboutClass { public static void main(String[] args) { A a = new A(); Class a1 = A.class; //任何事物皆是对象,类A是Class类的对象 Class a2 = a.getClass(); //a1,a2 表示了A类的类类型 System.out.println("a1=a2是"+(a1==a2)); try{ Class a3 = Class.forName("com.project.reflect.A"); //全路径 System.out.println("a1=a3是"+(a1==a3)); }catch(Exception e){ e.printStackTrace(); } try { A a4 = (A) a1.newInstance(); //A必须有无参构造方法 a4.print(); } catch (Exception e) { e.printStackTrace(); } } } class A{ public A(){ }; public void print(){ System.out.println("this is A"); } }
运行结果为:
静态加载类:编译时加载。
动态加载类:运行时加载。
例子:
如果在记事本上
标签:
原文地址:http://www.cnblogs.com/doudingbest/p/4965061.html