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