谁能告诉我这样的代码,编译为何不会报错? 按照Java的Exception理论,应该编译不能通过.
lass Base
{
public void aMethod() throws ClassNotFoundException
{
}
}
public class Derived extends Base
{
public void aMethod() throws RuntimeException
{
}
}
我这道题目是这样的:
父类Base的方法aMethod?出一个ClassNotFoundException异常
子类Derived重写aMethod方法并?出一个RuntimeException异常
如果按照Java的Exception理论,那么应该是:
子类Derived的aMethod方法要么不?异常,
要么就必须?出ClassNotFoundException异常或是ClassNotFoundException异常的子类才行.
而RuntimeException并不是ClassNotFoundException的子类.
它们没有任何的继承关系.
但是现在可以编译通过,请问这是为什么?
runtimeexception是自动throws的,不需要declare(decalre了效果也不会有任何变化),即使声明了throws runtime exception,编译器也不会按通常的规则处理。所以上述代码的等效形式是:
class Base
{
public void aMethod() throws ClassNotFoundException
{
}
}
public class Derived extends Base
{
public void aMethod()
{
}
}
****** 答案 *****
java中的异常可以分为3种类型:
1。从Exception类直接派生出来的异常类
2。运行时刻类(RuntimeException)
3。I/O异常类
你说的那个理论对于1,3成立,但是RuntimeException是没有必要去catch的.(www.itpub.net)
答疑解惑:一道scjp考题_java认证
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 答疑解惑:一道scjp考题_java认证
相关推荐
-      photoshop简单为美女照片瘦身及调色_photoshop教程
-      photoshop模仿龟裂的瓷纹杯_photoshop教程
-      photoshop绘鲜美葡萄 表现光影效果_photoshop教程
-      java认证培训辅导:随机整数的生成_java认证
-      java考试认证:scjp310-035考试心得_java认证
-      通过java认证 scjp 考试之精辟总结_java认证
-      java认证心得:顺利通过scjp测试全接触_java认证
-      java认证培训辅导:随机整数的生成_java认证