Java 载入类的方式
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(); }}