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中所有的方法(实际上就是构造方法,复制过来改成自己定义类的名字)

浙公网安备 33010602011771号