Java 的类装载器
1,预先载入和按需载入。
通常基础类库需要预先载入,自定义类库需要按需载入。
两种按需载入:
1,显式载入:Class.forName()和ClassLoader的loadClass方法。
2,隐式载入:用new关键字,Class loader在背后装载
示例:
接口:Door
public interface Door
{
public void intos();
}
实现:Li 和 Zhang
public class Li implements Door
{
public void intos(){
System.out.println("into li home");
}
}
public class Zhang implements Door
{
public void intos(){
System.out.println("into zhang home");
}
}
测试类:Intohome
public class Intohome
{
public static void main(String[] args) throws Exception
{
//Class c = Class.forName(args[0]);
ClassLoader cl = Intohome.class.getClassLoader();
Class c = cl.loadClass(args[0]);
Object o = c.newInstance();
Door d = (Door)o;
d.intos();
}
}
结果:
E:/test>java Intohome Li
into li home