关于接口和异常的总结

接口

为什么要使用接口?

Java语言只支持单重继承,不支持多继承,即一个类只能有一个父类。但是在实际应用中,又经常使用多继承来解决问题。为了解决该问题,Java语言提供了接口来实现类的多重继承功能。

 

定义:

//接口的声明。修饰符写不写都为public。接口名逗号隔开

[修饰符] interface接口名[extends 父接口名列表]{

//接口体

[public] [static] [final] 变量;

//三个修饰符均可省略

[public][abstract] 方法;

//所有方法只有定义,没有实现(抽象方法)。默认public权限

}

 

接口的实现:

//可选值为public, abstract, final。接口名逗号隔开

[修饰符] class <类名> [extends 父类名] [implements 接口列表] {

}

 

注:在类中实现接口时,方法名、返回值类型、参数的个数及类型必须与接口中的完全一致,并且必须实现接口中的所有方法。

 

接口继承接口:

//注意使用extends

Interface3 extends Interface0, Interface1, interface……

 

接口继承与类继承对比:

Java类的继承是单一继承,Java接口的继承是多重继承。

 

接口与继承对比:

1.抽象类没有属性限制,接口只能有静态常量。

2.抽象类单一继承,接口可以多重继承。

3.抽象类中可以有非抽象方法。接口中则不能有实现方法。

4.抽象类可以有具体方法,接口没有。

5.抽象类可以有构造方法,接口没有。

 

异常

异常与错误的比较:

ErrorException都是Throwable类的子类。

Error及其子类,用于指示合理的应用程序不应该试图捕获的严重问题。

Exception及其子类,给出了合理的应用程序需要捕获的异常。

分类:

运行期异常和编译器异常

基本语法:

//检测不安全的代码块

        try{

   可能会发生异常的代码

 

//把抓到的类型匹配的异常捕获,保证程序能继续运行下去

   }catch(异常类型 引用名){

   异常处理代码

 

//只能有一个finally语句,总会执行

}finally{

  必须执行代码

   }

 

异常处理顺序:

try中没有异常的情况下,trycatchfinally的执行顺序:

try --- finally
如果try中有异常,执行顺序:

try --- catch --- finally

如果try中没有异常并且try中有return //return总是最后执行

try ---- finally --- return
如果try中有异常并且try中有return

try----catch---finally--- return

如果try有异常,相应catch中有return

try---catch---finally---return

posted on 2017-10-09 14:45  李洋1991  阅读(216)  评论(0编辑  收藏  举报