diff --git a/s-day05/src/com/inmind/extends_exception03/Demo09.java b/s-day05/src/com/inmind/extends_exception03/Demo09.java new file mode 100644 index 0000000..af7ff3a --- /dev/null +++ b/s-day05/src/com/inmind/extends_exception03/Demo09.java @@ -0,0 +1,16 @@ +package com.inmind.extends_exception03; + +/* +继承关系中异常的处理的注意点: +如果父类方法声明出一编译异常,子类重写时如果不调用父类方法,可以不处理 +如果父类方法声明出一编译异常,子类重写时想要声明出异常时,子类方法只能声明出父类的异常或该异常的子类 +父类方法没有声明异常,子类重写父类该方法时也不可声明异常。此时子类中的异常只能try-catch +以上三点事项只适用于编译时异常,如果是运行时异常,不受任何影响 + + +总结: +1.编译时异常:强制使用功能时,必须处理指定异常,常用于调用第三方功能代码时的限制 +2.运行时异常,不强制必须处理,常用于程序中的业务功能处理(我们经常会用运行时异常) + */ +public class Demo09 { +} diff --git a/s-day05/src/com/inmind/extends_exception03/Fu.java b/s-day05/src/com/inmind/extends_exception03/Fu.java new file mode 100644 index 0000000..8e55160 --- /dev/null +++ b/s-day05/src/com/inmind/extends_exception03/Fu.java @@ -0,0 +1,13 @@ +package com.inmind.extends_exception03; + +import java.io.IOException; + +public class Fu { + public void method() throws IOException { + System.out.println("父类方法"); + } + + public void method1(){ + System.out.println("父类方法1"); + } +} diff --git a/s-day05/src/com/inmind/extends_exception03/Zi.java b/s-day05/src/com/inmind/extends_exception03/Zi.java new file mode 100644 index 0000000..9104f2b --- /dev/null +++ b/s-day05/src/com/inmind/extends_exception03/Zi.java @@ -0,0 +1,19 @@ +package com.inmind.extends_exception03; + +import java.io.FileNotFoundException; + +public class Zi extends Fu{ + @Override + public void method() throws FileNotFoundException { + //super.method();沿袭(调用父类方法) + } + + @Override + public void method1() throws RuntimeException { + try { + throw new Exception(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } +}