静态加载:直接编译所有类
动态加载:需要哪个类编译哪个
废话不多少直接上代码
创建一个简单类 并没有写A类和B类
public class Main{
public static void main(String args[]){
if("A".equals(args[0])){
A a=new A();
a.start();
}
if("B".equals(args[0])){
B b=new B();
b.start();
}
}
}
编译报错:
动态加载类:
public class Main{
public static void main(String args[]){
try{
Class c=Class.forName(args[0]);
All a=(All)c.newInstance();
a.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
class A implements All{
public void start(){
System.out.println("A....START");
}
}
class B implements All{
public void start(){
System.out.println("B....START");
}
}
//接口
interface All{
public void start();
}
运行无错 只有调用到需要的类才会编译