异常处理,新手求解?

路人_Y 2015-08-22 10:10:52

下列代码编译和运行的结果是:()。

public class A {

public void process() {

System.out.print("A,");

}

public static void main(String[] args) {

try {

new B().process();

} catch (IOException e) {

System.out.println("Exception");

}
}
}

class B extends A {

public void process() throws IOException {

super.process();

System.out.print("B,");

throw new IOException();

}

}



A.输出Exception
B.输出A,B,Exception
C.编译失败
D.在运行时抛出NullPointerException异常

正确答案:为什么是C?
...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
code小生 2015-08-24
  • 打赏
  • 举报
回复
若父类中的方法没有抛出异常,则子类不能抛出异常。
谷儿哥哥 2015-08-23
  • 打赏
  • 举报
回复
儿子的异常不能比老子多,否则不能实现多态。
Jziver 2015-08-22
  • 打赏
  • 举报
回复
同是新手,不知道是不是这样 B继承A,而父类A的 process方法没抛出异常, 那么子类B在复写该方法时也不能抛异常。

50,451

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧