Java异常处理:重写方法与抛出异常规范

需积分: 0 1 下载量 89 浏览量 更新于2024-07-10 收藏 886KB PPT 举报
"该资源是一份关于Java编程的课件,特别关注了重写方法时异常处理的规则。课程覆盖了JAVA概述、语言基础、面向对象编程、异常处理、数组、常用类、容器类、流技术、多线程、网络编程和GUI编程等多个主题。由刘淑英授课,旨在帮助学习者打牢J2SE基础,进阶到J2ME、JSP/Servlet和J2EE。" 在Java编程中,异常处理是一个关键的概念,特别是在方法重写时。当一个子类重写父类的方法时,关于异常处理有明确的规定。根据描述中的例子: 1. **异常兼容性**:重写的方法要么抛出与父类方法相同的异常,或者这个异常的子类。例如,`class B1`的`method()`方法抛出了`FileNotFoundException`,这是`IOException`的一个子类,因此它是合法的重写。 2. **不抛异常**:重写的方法也可以选择不抛出任何异常,就像`class B3`的`method()`那样。这表明子类在实现时可能不会遇到父类方法可能出现的异常情况。 3. **抛出更通用的异常**:`class B2`的`method()`方法抛出了`Exception`,这是所有检查异常的父类,这也符合规定,因为它覆盖了`IOException`。 4. **抛出多个异常**:虽然在Java中不常见,但重写的方法可以抛出多个异常,只要它们满足上述规则。`class B4`的`method()`不仅抛出了`IOException`,还添加了一个自定义的`MyException`,这同样是合法的,因为`IOException`是父类方法抛出的,而`MyException`可能是子类特有的异常。 这些规则是Java异常处理机制的一部分,确保了代码的可预测性和一致性。在Java中,异常分为两种类型:检查异常(如`IOException`)和运行时异常(如`NullPointerException`)。检查异常在编译时必须被处理(通过try-catch块或throws声明),而运行时异常则通常表示编程错误,可以在运行时处理。 Java语言的特点包括: - **面向对象**:Java是一种纯面向对象的语言,所有的数据类型都是对象,支持封装、继承和多态等面向对象特性。 - **平台无关性**:Java的“Write Once, Run Anywhere”(WORA)原则得益于Java虚拟机(JVM),它允许Java程序在不同平台上运行,无需重新编译。 - **健壮性**:Java通过移除C/C++中的指针等特性,增强了程序的安全性和稳定性,减少了因内存管理不当导致的问题。 - **垃圾回收机制**:Java自动进行内存管理,程序员无需手动释放内存,避免了内存泄露等问题。 学习Java,尤其是J2SE,是掌握JavaME、JSP/Servlet和J2EE的基础。通过了解计算机语言历史、Java的发展历程以及其在Java体系中的位置,可以帮助我们更好地理解和应用Java技术。课程涵盖了从基础语法、面向对象编程到高级特性如多线程和网络编程,为全面掌握Java编程提供了全面的指导。