1 Class.forName("类的全名")不仅表示了类的类类型,还代表了动态加载类
2 编译时刻加载类称之为静态加载,运行时刻加载类是动态加载类
接口如下
依然是只有一个word类,没有excel类这次使用动态加载这次可以顺利编译成功了!
2 编译时刻加载类称之为静态加载,运行时刻加载类是动态加载类
3 new 对象是静态加载类,在编译时刻就需要加载所有的可能使用的类(编译时刻加载)
用Edit写一个reflectDemo2,里面有俩个命令行参数判断的代码word,execl,我们在同一个文件夹下写一个word类不写execl类,我们假如只想运行word不想运行execl,但是很不幸,由于这是静态加载,javacreflectDemo2编译时是将其中所有类都要加载,只有word但是找不到execl类直接编译出错!
运行就出错了
下面我们使用动态加载定义better类,依然还是只定义了一个word类,为了方便扩展,定义了一个接口
此时word继承Office接口
接口如下
依然是只有一个word类,没有excel类这次使用动态加载这次可以顺利编译成功了!
转载:http://blog.csdn.net/xsf50717/article/details/44965277