当前位置: 移动技术网 > IT编程>开发语言>Java > Java反射之静态加载和动态加载的简单实例

Java反射之静态加载和动态加载的简单实例

2019年07月22日  | 移动技术网IT编程  | 我要评论

山西吕梁,健康之路 性功能,元宵晚会开心麻花

静态加载:

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反射之静态加载和动态加载的简单实例的全部内容了,希望对大家有所帮助,多多支持移动技术网~

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网