Java反射之静态加载和动态加载举例小记
2015-04-24 09:21
363 查看
静态加载:
动态加载:
1、接口OfficeAble :
4、Main方法
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反射之静态加载和动态加载举例小记
- Java 静态加载类与动态加载类(初步认识Java的反射)
- java反射学习笔记(2)----java中的静态加载类和动态加载类
- Java反射之静态加载和动态加载的简单实例
- 黑马程序员--Java学习日记之类的加载,反射,动态代理,枚举
- Java基础 - 类的加载,类加载器,反射,动态代理,模板设计模式,JDK5新特性,枚举(类),JDK1.7新特性
- java动态加载类和静态加载类
- 黑马程序员————java中类的加载、反射、动态代理、枚举
- Java基础进阶_day18_(类加载器,反射,动态代理)
- Java 动态加载class 并反射调用方法
- JAVA 反射 动态调用不同类的静态方法
- Java反射第二课 动态加载类
- JAVA反射——Class类、动态加载类的简介
- JAVA类的静态加载和动态加载以及NoClassDefFoundError和ClassNotFoundException
- JAVA反射--动态加载类--获取方法信息--获取成员变量构造函数信息
- java反射--动态加载
- java反射动态加载类Class.forName();
- 20、Java入门—反射之动态加载类
- Java学习笔记:反射与代理机制(静态、动态)
- java反射原理,动态加载(软件版本升级)