时间:2021-05-20
静态加载:
package com.imooc.加载类;public class Office_Static { public static void main(String[] args) { //new 创建对象,是静态加载类,在编译时刻就需要加载所有的可能使用到的类 if("Word".equals(args[0])){ Word w = new Word(); w.start(); } if("Excel".equals(args[0])){ Excel e = new Excel(); e.start(); } }}这个程序编译时必须有Word和Excel这两个类存在才行,即使判断后用不到Excel也要加载
动态加载:
1、接口OfficeAble :
package com.imooc.加载类;public interface OfficeAble { public void start();}2、Word实现接口:
package com.imooc.加载类;public class Word implements OfficeAble{ public void start(){ System.out.println("word start"); }}3、Excel实现接口:
package com.imooc.加载类;public class Excel implements OfficeAble{ public void start(){ System.out.println("excel start"); }}4、Main方法
package com.imooc.加载类;public class OfficeBetter { /** * @param args */ public static void main(String[] args) { try { //动态加载类,在运行时刻加载 Class c = Class.forName(args[0]);//在运行配置里面输入com.imooc.加载类.Excel //通过类类型,创建该类对象(先转换为Word和Excel的共同接口OfficeAble) OfficeAble oa = (OfficeAble)c.newInstance(); oa.start(); //不推荐下面两种,因为不确定是加载Word还是Excel,要强转// Word word = (Word)c.newInstance();// word.start();// Excel excel = (Excel)c.newInstance();// excel.start(); } catch (Exception e) { e.printStackTrace(); } }}以上就是小编为大家带来的Java反射之静态加载和动态加载的简单实例的全部内容了,希望对大家有所帮助,多多支持~
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java基础之反射原理与用法。分享给大家供大家参考,具体如下:1.什么是反射?反射其实就是动态的加载类,我们在写JDBC的时候加载驱动Class.
在讲解动态加载类之前呢,我们先弄清楚为什么要动态加载类,静态加载不行吗?我们可以看下面的实例:我在文件夹里写了Office.java类和Word.java类,如
一、java中的反射1.通过反射加载类的属性和方法实例代码:/***java.lang.Class是反射的源头*我们创建了一个类,通过编译(javac.exe)
使用反射动态加载第三方类用反射加载第三方类用处在于:使用XML或其他配文件配置要加载的类,从而和系统源代码分离。对加载的类进行类检查,是加载的类符合自己定义的结
java动态加载的实现代码Java动态加载类的意义和目的:Java动态加载类主要是为了不改变主程序代码,通过修改配置文件就可以操作不同的对象执行不同的功能。主要