黑马程序员技术交流社区

标题: 关于类加载器的问题。 [打印本页]

作者: 刘源    时间: 2012-8-22 09:44
标题: 关于类加载器的问题。
本帖最后由 刘源 于 2012-8-23 09:08 编辑

"问题已解决"

请问,接口类和实现接口的类一定是同一个类加载器吗?
           父类和继承父类的子类一定是同一个类加载器吗?
如果他们之间有关系,请问如果我子类用一个类加载器,父类用另一个类加载器,那他们还能父子类关系吗?


作者: 刘芮铭    时间: 2012-8-22 11:14
本帖最后由 刘芮铭 于 2012-8-22 11:21 编辑

在某个类加载器试图以自己的方式加载一个类时,它首先缺省把这个工作交给自己的父对象。而这个父对象又会首先把这个任务交给自己的父对象处理,这样这个任务会一直传到启动类加载器,因为启动类加载器通常是代理链的最后一个类。如果父类加载器能够加载这个类型,就会返回此类型,否则由子类加载器处理。

总结为一句话:加载继承类时,会首先加载调用父类信息,再加载调用子类信息!

针对你的这个问题:
首先接口和被实现类,父类和子类归根到底是同一个概念!

接口是为了解决JAVA当中不能多继承的问题从而产生的多实现!

所以上述的总结和回答是符合的:加载继承类时,会首先加载调用父类信息,再加载调用子类信息!

所以当然子类使用自己的类加载器和父类的加载器不相同,当然还是属于父子关系的!

幽默的一句来啦:父子关系不是那么好挑拨的~嘻嘻





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2