本帖最后由 王磊 于 2013-7-28 20:11 编辑
通过forName方法获取字节码文件,是日后开发最常用的一种方式了,也就是通过类名来获取字节码文件。
如果第一句你懂了的话,那你看视频里老师的操作实际上就是在传入这个类名的字符串形式。不是传入地址,你看到的那个类似地址的东西,其实就是全类名,也就是包名+类名。
以下是API里的forName方法说明,看一下就应该懂了。
forNamepublic static Class<?> forName(String className) throws ClassNotFoundException
返回与带有给定字符串名的类或接口相关联的 Class 对象。调用此方法等效于: Class.forName(className, true, currentLoader) 其中 currentLoader 表示当前类的定义类加载器。 例如,以下代码片段返回命名为 java.lang.Thread 的类的运行时 Class 描述符。
Class t = Class.forName("java.lang.Thread") 调用 forName("X") 将导致命名为 X 的类被初始化。
参数:className - 所需类的完全限定名。
返回:具有指定名的类的 Class 对象。
抛出:LinkageError[/url] - 如果链接失败
ExceptionInInitializerError - 如果此方法所激发的初始化失败
ClassNotFoundException- 如果无法定位该类
|