- 静态加载类
静态加载类,在编译的时候加载
class Office{
public static void main(String [] args){
if("word".equals(args[0])){
Word w = new Word();
w.start();
}
if("excel".equals(args[0])){
Excel e = new Excel();
e.start();
}
}
}
比如只有这个Office.java中的Office类,没有Word类和Excel类,直接编译Office.java当然是报错的,因为没有Excel类和Word类不存在。
好,当我们只加上一个Word类,再进行编译时,还是会出错,因为这是Excel类仍然不存在。想想,当有100个类时,如果其中一个有问题,其他99个没问题,却因这一个有问题导致其他99个都不能用。这并不是我们想看到的,这是静态加载类导致的,通过动态加载类可以解决问题。
- 动态加载类
class OfficeBetter{
public static void main(String [] args){
try{
Class c = Class.forName(args[0]);
}catch(Exception e){
e.printStackTrace();
}
}
}