Java反射之静态加载和动态加载的简单实例
更新时间:2016年10月02日 10:20:24 投稿:jingxian
下面小编就为大家带来一篇Java反射之静态加载和动态加载的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
静态加载:
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反射之静态加载和动态加载的简单实例的全部内容了,希望对大家有所帮助,多多支持脚本之家~
相关文章
SpringBoot热部署Springloaded实现过程解析
这篇文章主要介绍了SpringBoot热部署Springloaded实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-03-03
解决idea2020.2遇到pom.xml文件报错maven插件tomcat7的问题
这篇文章主要介绍了idea2020.2遇到pom.xml文件报错maven插件tomcat7的问题,本文给大家分享解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09
FeignClientFactoryBean创建动态代理详细解读
这篇文章主要介绍了FeignClientFactoryBean创建动态代理详细解读,当直接进去注册的方法中,一步步放下走,都是直接放bean的定义信息中放入值,然后转成BeanDefinitionHolder,最后在注册到IOC容器中,需要的朋友可以参考下2023-11-11
springboot + rabbitmq 如何实现消息确认机制(踩坑经验)
这篇文章主要介绍了springboot + rabbitmq 如何实现消息确认机制,本文给大家分享小编实际开发中的一点踩坑经验,内容简单易懂,需要的朋友可以参考下2020-07-07
spring boot + mybatis如何实现数据库的读写分离
这篇文章主要给大家介绍了关于spring boot + mybatis如何实现数据库的读写分离的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-09-09


最新评论