Java反射之静态加载和动态加载的简单实例
静态加载:
packagecom.imooc.加载类;
publicclassOffice_Static{
publicstaticvoidmain(String[]args){
//new创建对象,是静态加载类,在编译时刻就需要加载所有的可能使用到的类
if("Word".equals(args[0])){
Wordw=newWord();
w.start();
}
if("Excel".equals(args[0])){
Excele=newExcel();
e.start();
}
}
}
这个程序编译时必须有Word和Excel这两个类存在才行,即使判断后用不到Excel也要加载
动态加载:
1、接口OfficeAble:
packagecom.imooc.加载类;
publicinterfaceOfficeAble{
publicvoidstart();
}
2、Word实现接口:
packagecom.imooc.加载类;
publicclassWordimplementsOfficeAble{
publicvoidstart(){
System.out.println("wordstart");
}
}
3、Excel实现接口:
packagecom.imooc.加载类;
publicclassExcelimplementsOfficeAble{
publicvoidstart(){
System.out.println("excelstart");
}
}
4、Main方法
packagecom.imooc.加载类;
publicclassOfficeBetter{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
try{
//动态加载类,在运行时刻加载
Classc=Class.forName(args[0]);//在运行配置里面输入com.imooc.加载类.Excel
//通过类类型,创建该类对象(先转换为Word和Excel的共同接口OfficeAble)
OfficeAbleoa=(OfficeAble)c.newInstance();
oa.start();
//不推荐下面两种,因为不确定是加载Word还是Excel,要强转
// Wordword=(Word)c.newInstance();
// word.start();
// Excelexcel=(Excel)c.newInstance();
// excel.start();
}catch(Exceptione){
e.printStackTrace();
}
}
}
以上就是小编为大家带来的Java反射之静态加载和动态加载的简单实例的全部内容了,希望对大家有所帮助,多多支持毛票票~
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短