java动态编译一、动态编译简介new创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类。
一百个类,有一个类错了,都无法编译。
通过动态加载类可以解决该问题
二、代码实例2.1 officebetter.javamain接口
里面通过对class类的动态编译
然后调用实例,完成动态编译
1 public class officebetter { 2 3 public static void main(string[] args) throws instantiationexception, illegalaccessexception { 4 try { 5 //动态加载类,在运行时刻加载 6 class c =class.forname(args[0]); 7 //通过类类型,创建该类对象 8 officeable oa =(officeable)c.newinstance(); 9 oa.start();10 } catch (classnotfoundexception e) {11 e.printstacktrace();12 }13 14 }
15 16 }
2.2 officeable.java一个接口而以,方便word时,也方便excel是用
1 public interface officeable {2 public void start();3 }
2.3 word.java实现officeable接口,
动态编译就在于wold的时候直接用word类就好,excel的时候直接用excel就好
原来写的所有的东西都不需要再重新编译,只要运行新功能就好了
1 public class word implements officeable{2 3 public void start() {4 system.out.println(word....starts...);5 }6 7 }
以上就是java的动态编译使用的详细内容。