• Java类的加载の动态


    类的加载方式
    • 静态加载类,是编译时刻加载
    • 动态加载类,是运行时刻加载

    new创建对象:是静态加载类,在编译时刻就需要加载所有的可能使用到的类。有一个类有问题(如不存在),都不能通过编译,会报错。

    Class.forName(类的全称):通过动态加载类,用到一个类时,才进行加载。 功能性的类建议尽量使用动态加载,并对新添的类实现功能性接口(标准),这样就不用重新编译

    import T1.OfficeAble;
    
    
    public class Office1 {
      public static void main(String[] args) {
          try {
            Class c=  Class.forName("T1.Word");  //传入什么类就 加载什么类              
            //创建对象
            OfficeAble s=(OfficeAble)c.newInstance();
            //调用方法
            s.start();
        } catch (Exception e) {
            e.printStackTrace();
        }}
    }
    package T1;
    
    public interface OfficeAble {//创建一个接口来规范对象
        
        public void start();
           public void rr();
    }
    package T1;
    
    public class Word {
        public void start() {
            System.out.println("word调用成功啦!");
        }
        public void rr() {}
        
    }

     

     

    可以理解为装修房子(编译)买电器,我之前计划的有电视冰箱洗衣机,全都随着装修安装完毕了(静态加载),之后呢(运行),觉得少个微波炉,可是根本就没有规划微波炉的线路,那么就需要拆掉原先的线路为新的电器设置安装.
    而现在我不想那么麻烦,就在装修的时候预留好电源插座这种接口(interface),只要所有的电器都实现了这个接口,有了两孔或者三孔的插头,那么我后期想增添任何电器都可以随时增加(动态加载)
  • 相关阅读:
    二元查找树的后序遍历结果
    CFileDialog设置多选时的一个问题
    KanRSS.com
    由shuttle这个单词想起的一个小故事
    Sun Java moved to the Partner repository
    Sun Java moved to the Partner repository
    扩展std::string功能的几个做法
    NetBeans 时事通讯(刊号 # 99 Apr 16, 2010)
    NetBeans IDE 6.9 Beta 发布
    KanRSS.com
  • 原文地址:https://www.cnblogs.com/sev7en-/p/6042964.html
Copyright © 2020-2023  润新知