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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一碗小米周 中级黑马   /  2013-9-12 16:17  /  1390 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄兴旺 于 2013-9-23 12:03 编辑

我想请问一下各位,看了张老师的关于自定义类加载器的讲解之后,有一个小问题,就是return  super.findClass(name);的作用是什么?该怎么理解?

捕获.PNG (71.53 KB, 下载次数: 17)

捕获.PNG

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

2 个回复

倒序浏览
亲 把代码放在尖括号里面去吧!! 你这样发我们看不清你的问题

1.jpg (35.8 KB, 下载次数: 6)

1.jpg
回复 使用道具 举报
本帖最后由 code_geass 于 2013-9-14 16:53 编辑

这个我问题我也想过。如果catch里面不是处理异常。而是抛出一个新的异常。这个return完全可以不写。
我是这么理解的,在try中的代码运行return之前抛出了异常,那么就跳过了return执行了catch中的代码,执行完毕后发现后面无return语句。而方法需要返回值。所以编译不会通过。如果catch中是抛出异常。程序会直接跳出。所以编译会通过。
至于那个return  super.findClass(name); 是用eclipse的快捷键自动生成的。默认是利用父类的findClass,自定义加载器的话就是用return defineClass() 直接将二进制数据转换成Class字节码。返回去、

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马