class类的静态和动态加载

这种方式就算有了Word类没有CC类也编译不了,比如你有很多方法因为一个错误而全部都执行不了是同一个道理

public class Office {
public static void main(String[] args) {
if("1".equals(args){
Word w = new Word();

w.start();

}
if("2".equals(args)){
CC c = new CC();

c.start();
}
}
}

动态加载,在运行时刻加载,你只需要一个标准OfficeBetter接口,让其他类实现OfficeBetter ,好比现在是Word实现了OfficeBetter接口

public class Office {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
Class c= Class.forName("ss.Word");//ss.CC
//如果需要CC和Word,就创建一个OfficeBetter 接口让这两个类实现
OfficeBetter w = (OfficeBetter)c.newInstance();

//word....start

w.start();
}
}

猜你喜欢

转载自blog.csdn.net/fristname1/article/details/77924286