zoukankan      html  css  js  c++  java
  • Java动态编译

    Java动态编译

    一、动态编译简介

    new创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类。

    一百个类,有一个类错了,都无法编译。

    通过动态加载类可以解决该问题

    二、代码实例

    2.1 OfficeBetter.java

    main接口

    里面通过对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 }
  • 相关阅读:
    spark 1.1.0 单机与yarn部署
    hadoop 2.5.1单机安装部署伪集群
    perl C/C++ 扩展(五)
    perl C/C++ 扩展(一)
    perl C/C++ 扩展(二)
    perl C/C++ 扩展(三)
    perl C/C++ 扩展(四)
    SpiderMonkey 入门学习(一)
    新装centos 6.5 基本配置
    Linux(16):Shell编程(3)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/6911207.html
Copyright © 2011-2022 走看看