网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 认证考试 > Java认证
本月文章推荐
.“编程美女”记:立志向编程牛人学.
.最新Sun授权ASEC-Java培训中心一.
.Java程序员认证模拟题及详细分析.
.困惑在Java路上-IT男人很累吗?.
.SUN认证JAVA程序员考试大纲.
.SCJP认证套题解析之四.
.SCJP认证套题解析之九.
.SCJP认证套题解析之六.
.SCJP认证套题解析之五.
.SCJP认证套题解析之一.
.构架Linux环境下Java开发环境(2).
.Java认证的目的和步骤.
.解说SUN的Java认证体系:scjp、sc.
.全世界所有程序员都会犯的错误.
.Java的前世今生.
.课程介绍(3)SL-265 结构化程序员.
.课程介绍(11)SL-351 Java数据库应.
.课程介绍(1)SL-110 初级Java语言.
.Java程序员认证模拟题及详细分析.
.有效和正确定义hashCode()和equa.

答疑解惑:一道SCJP考题

发表日期:2006-4-7


谁能告诉我这样的代码,编译为何不会报错?

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的子类.

   它们没有任何的继承关系.

   按照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的.(www.itpub.net)

上一篇:java入门学习指导之最佳方向(下) 人气:3922
下一篇:SUN认证JAVA程序员考试大纲 人气:4002
浏览全部Java认证的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐