本文最后更新于 3135 天前,其中的信息可能已经有所发展或是发生改变。
1、new 出来的都是静态加载类,一招出错,全盘皆输。
如
class Office{
pulbic static void mian(Stirng[] args){
if("Word".equals(args[0])){
Word w = new Word();
w.start();
}
}
}
new 对象 都是静态加载的类,在编译时就需要全部加载需要用到的类,不管你用不用到…
所以你需要有Word的类…
需要解决就要用到动态加载类..
2、动态加载类
如何动态加载类呢
我们可以通过类类型,创建该类的对象
如先创建一个接口,让他的类去实现这个接口从而实现动态加载
public interface OfficeAble {
public void start();
}
public class OfficeBetter {
public static void main(String[] args){
try {
Class c = Class.forName(args[0]);
OfficeAble oa = (OfficeAble) c.newInstance();
oa.start();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
public class Word implements OfficeAble{
public void start() {
// TODO Auto-generated method stub
}
}
所以以后需要加载什么类,我们都可以去创建一个这个类类型去动态加载….
Class c = Class.forName(args[0]);
OfficeAble oa = (OfficeAble)c.newInstance();//OfficeAble定义的功能类型接口
每次评论发信给你,老是被退信。
我也不清除阿,用360加速,然后腾讯的邮件就收不到
<?php echo 'php大法好';
System.out.println(“java代码需要成吨的写”);