java反射

一、类是对象,类是java.lang.Class类的实例对象。
  • Class类实例对象(类类型)的三种表示方式:
    • Class c1=Foo.class;                             //任何一个类都有一个隐含的静态成员class
    • Class c2=foo1.getClass();                   //调用该对象的getClass方法
    • Class c3=Class.forName("类全称")     //c1=c2=c3 
  • 可以通过类的类类型来创建该类的实例对象
    • Foo f=(Foo)c1.newInstance();            //需要有无参构造方法
 
二、动态加载类
  • new 创建对象,是静态加载类,在编译时就需要加载所有可能用到的类。
  • 动态加载类,在运行时加载
    • Class c = Class.forName(args[0]);
  • 通过类类型,创建该类对象
    • OfficeAble oa=(OfficeAble)c.newInstance();
    • oa.start();
 
 
posted @ 2019-05-12 13:42  woldcn  阅读(119)  评论(0)    收藏  举报