深入了解Class类,让你一通百通
|
们发现没有,其实这里还是有些区别的,我告诉你区别是下面的字比上面多,你会打我不(别打我脸)。 粗糙的那个是通过 new 创建的对象,而精致的是通过 ClassLoader 操作 .class 文件生成 Class 类,然后创建的对象。 其实通过 new 或者反射创建实例,都需要 Class 对象。 1.2 .class 文件 .class 文件在文章开头讲过,是字节码文件。.java 是源程序。Java 程序是跨平台的,一次编译到处执行,而编译就是从源文件转换成字节码文件。
字节码无非就是由 0 和 1 构成的文 啥玩意,看不懂。咱也不需要看懂,反正 JVM 对 .class 文件有它自己的读取规则。 1.3 类加载器
还记得上面的精致图中,我们知道是通过类加载器把 .class 文件加载到内存中。具体的类加载器内容,我会另写一篇文章讲解(写完链接会更新到这里)。但是核心方法就是 loadClass(),只需要告诉它要加载的 name,它就会帮你加载:
上面两步都失败,调用 findClass()
因为 ClassLoader 的 findClass 方法默认抛出异常,需要我们写一个子类重新覆盖它,比如: (编辑:阜阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



