JAVA 类载入分别有隐式载入和显示载入
隐式载入即平时大家惯用的new
关键字,
显示载入即
抽象工厂模式中,大家用到的Class.forName(String "yourClassName");和ClassLoader.
使用java -verbose:class MainClass. 可以查看类载入的顺序。
加以在特定地方打印一些值,既可以看到类载入和执行的顺序。
显示载入一般的方式有:
String subClassName = "SubClassName";
Class c = new Class(subClassName);
Object o = c.newInstance();
InterfaceClass a = (InterfaceClass)o;
public class ClassLoaderStudy
{
public static void main(String args[])
{
ClassLoaderStudy cls = new ClassLoaderStudy();
ClassLoader classLoader = cls.getClass().getClassLoader();
Class c = classLoader.loadClass(args[0]);
Object o = c.newInstance();
}
}
public class ClassLoaderStudy
{
public static void main(String args[])
{
URL url = new URL("file:/d:/my/lib/");
URLClassLoader ucl = new URLClassLoader(new URL{u});
Class c = ucl.loadClass(args[0]);
Object o = c.newInstance();
}
}