A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘源 中级黑马   /  2012-8-22 09:44  /  1194 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 2012-8-23 09:08 编辑

"问题已解决"

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

1 个回复

倒序浏览
本帖最后由 刘芮铭 于 2012-8-22 11:21 编辑

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

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

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

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

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

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

幽默的一句来啦:父子关系不是那么好挑拨的~嘻嘻
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马