一.异常
1.概述
代码出现了不正常的现象
2.分类
Throwable
Error -- 错误
Exception -- 异常
a.编译时期异常:语法没有错误,调用某个方法,直接爆红(因为被调用的方法底层跑了一个编译时期异常)
b.运行时期异常:语法没有错误,但是一运行就报错,RuntimeException以及子类
3.处理方案:
往上抛,最后给jvm,打印异常信息,终止程序
4.异常处理
a.throws
b.try..catch
5.finally
不管有没有异常,都会执行的代码块
配合try....catch使用
使用场景:一般都是作为关闭资源使用的,关闭GC回收不了的对象
6.自定义异常
a.定义一个类
继承Exception,就是编译时期异常
继承RuntimeException,就是运行时期异常
b.提供构造方法,用来设置异常信息
二.Object类
1.概述
所有类的根类,所有类都会直接或者间接继承Object
2.方法
toString:
没有重写toString,直接输出对象名会默认调用Object中的toString,会输出地址值
重写了toString,直接输出对象名,默认调用重写的toSteing,输出对象的内容
equals:
没有重写toString方法,比较的是对象的地址值
重写了toString方法,比较的是对象的内容
三.经典接口
Comparable
Comparator