加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[javaSE] 反射-动态加载类

发布时间:2021-05-21 06:45:25 所属栏目:大数据 来源: https://www.jb51.cc
导读:Class.forName(“类的全称”) ①不仅表示了类的类类型,还代表了动态加载类 ②请大家区分编译,运行 ③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 ? Ⅰ所有的 new 对象都是静态加载类 ? 在编译的时刻就要去检测该类是否存在,如果不存在,编译

Class.forName(“类的全称”)

①不仅表示了类的类类型,还代表了动态加载类

②请大家区分编译,运行

③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类

?

Ⅰ所有的new对象都是静态加载类

?

在编译的时刻就要去检测该类是否存在,如果不存在,编译失败。

//对于这种情况,静态加载不适用,因为我们需要根据输入来确定加载哪个类

?

package com.tsh.reflect;

class ReflectLoadDemo {
    public static void main(String[] args) {
        
        if(args[0].equals("Word")){
            Word word=new Word();
        }
        if(args[0].equals("Excel")){
            Excel word= Excel();
        }
    }
}

?

Ⅱ动态加载可以实现当使用的时候才去加载

 main(String[] args) {
        )){
            try{
                Class c=Class.forName("com.tsh.reflect.Word");
                c.newInstance();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}
class Word{}

?

?

Ⅲ是代码更具有扩展性的改动,定义interface接口规范

?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读