zoukankan      html  css  js  c++  java
  • 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),只要所有的电器都实现了这个接口,有了两孔或者三孔的插头,那么我后期想增添任何电器都可以随时增加(动态加载)
  • 相关阅读:
    PHP远程下载图片,微信头像存到本地,本地图片转base64
    jQuery Validate自定义错误信息,自定义方法
    创建自己的composer包
    js,JQ获取短信验证码倒计时
    JQ JS复制到剪贴板
    js,JQuery 生成二维码
    js,JQuery实现,带筛选,搜索的select
    HTML5拖放牛刀小试
    HTML5上传图片预览功能
    一次dropzone体验
  • 原文地址:https://www.cnblogs.com/sev7en-/p/6042964.html
Copyright © 2011-2022 走看看