文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院认证考试Java认证一道SCJP考题,要考SCJP的不能不看!
精品广告
推荐TOP10
·通过Java认证 SCJP 考试之精辟总结
·Java认证心得:顺利通过SCJP测试全接触
·JAVA认证培训辅导:随机整数的生成
·Java连接各种数据库的实例
阅读TOP10
·在Java中读写Excel文件
·Java语言特点及开发工具JDK
·Java认证心得:顺利通过SCJP测试全接触
·课程介绍(6)SL-285 高级Java编程工具包
·课程介绍(1)SL-110 初级Java语言编程
·JAVA认证考试价格及认证证书
·JAVA考试认证:SCJP310-035考试心得
·通过Java认证 SCJP 考试之精辟总结
·JAVA认证培训辅导:随机整数的生成
·课程介绍(12)SL-330 Java开发数据库应用程序

一道SCJP考题,要考SCJP的不能不看!

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]



  这道题目很有意义,我转贴到这儿.
  谁能告诉我这样的代码,编译为何不会报错?
  class 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的子类.
  它们没有任何的继承关系.
  按照Java的Exception理论,应该编译不能通过.
  但是现在可以编译通过,请问这是为什么?
  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的.

上一篇:课程介绍(3):SL-265 结构化程序员的Java技术

下一篇:SCJP:“菜鸟”也能玩Java


相关软件: 相关文章:
·一道SCJP考题,要考SCJP的不能不看!

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号