Day13

1.

  • 接口:关键字是interface
  • 类的关键字:class

2.接口的特点:

  • (1)接口不能直接创建对象,但是可以创建数组对象

  • (2)接口通常是用来被类实现的,使用关键字implements,实现之后,需要重写接口中的所有抽象方法,

  • 如果不想重写,将自己变成抽象类

  • (3)接口中只能存放常量和抽象方法

  • (4)接口中默认的访问权限是public,也只能是public

  • (5)接口可以多继承接口

  • (6)接口可以被类多实现(也就是一个类可以实现多个接口),使用逗号隔开

  • (7)如果又有继承又有实现,应该先继承,再实现

    • 接口的作用?
  • (1)做功能拓展

  • (2)作为父类统一数据类型

3.异常:

  • 异常是指在程序的运行过程中发生的不正常事件

4.try-catch语句块

-格式1:
try{
预计会抛出异常的代码块;
}catch(能够捕获的异常类型){
如果发生异常,处理的代码块;
}
-格式2:
try{
预计会抛出异常的代码块;
}catch(异常类型1){
处理的代码块1;
}catch(异常类型2){
处理的代码块2;
}...
catch(异常类型n){
处理的代码块n;
}
-格式3:
try{
预计会抛出异常的代码块;
}finally{
无论如何都一定会执行的代码块;
}

注意:

-finally通常是用来关闭流或者是某些连接的(数据库连接等)
-finally可以直接接在try的后面,此时就不能再有catch了
-finally还可以直接接在最后一个catch的后面

-System.exit(1):是唯一让finally不执行的语句

  • 注意:格式2中的catch可以有多个,但是越往后面的catch中捕获的异常类型,越要比前面的异常类型要大

5.常见的异常类型:至少掌握5种

  • NullPointerException:空指针异常 1
  • IndexOutOfBoundsException:数组下标越界
  • ClassNotFoundException:类没有找到异常 2
  • ClassCastException:类型转换异常
  • NumberFormatException:数字转换异常 3
  • IllegalArgumentException:接收到非法参数 4
  • InputMismatchException:输入不匹配异常
  • ArithmeticException:算术异常
  • RuntimeException:运行时异常 5
  • SQLException:数据库的语句异常 6

面试:

(1)throwable,error,exception的区别?
-error和exception都是throwable派生出来的两个子类
-error指的是靠程序本身无法恢复的严重错误,例如,内存溢出等
-exception指的是由java应用程序抛出来和处理的非严重性错误,例如,文件未找到等
(2)throw和throws的区别?
-throw表示在方法中抛出异常对象的
-throws表示在方法的后面声明抛出的异常类型的

注意:

当一个方法中throw了一个异常对象,并且在方法后面使用throws声明了异常类型,那么在调用该方法的时候,就需要添加try-catch(也可以不捕获,选择继续throws抛出去)

6.

throw和throws通常是成对出现的,但是如果throw的是RuntimeException或者是他的子类异常,则不需要在方法的后面throws

7.Exception异常又可以分为两类:

-运行时异常
-非运行时异常

8.自定义异常类型:

原有的程序自带的异常类型如果不匹配,我们还可以自己定义相关的异常类型

自定义异常的步骤:

 *  (1)自定义一个异常类
 *  (2)继承Exception
 *  (3)重写相关的Exception中所有的方法(实际上就是构造方法,复制过来改成自己定义类的名字)   
posted @ 2022-09-20 11:44  Ayiuuuuu  阅读(41)  评论(0)    收藏  举报