【介绍】java学习过程中重点知识的总结-第四天
1.Object类
· 是所有类的根类
boolean eauals(Object obj);
a.Object类中equals方法,比较 是两个对象地址 ,就是 ==号的作用
b.子类为了改变比较规则,可以重写equals方法
比如:Java提供的String 重写了equals,变成比较两个字符串的内容
比如: 我们自己定义的类,也可以重写equals方法,一般比较两个对象的成员变量的值
String toString();//返回该对象的字符串表示 ---->hashCode()返回该对象的数字表示
a.Object类中的toString,返回值: "包名.类名@地址值"
b.子类为了快速打印一个对象的信息,一般重写toString
在toString方法中,返回需要成员变量的值
注意:
syso(对象) <====> syso(对象.toString());2.异常
异常的根类:
Throwable
--Exception:异常类
-- 编译时异常:编译时报错
-- 运行时异常:运行时报错
--Error:错误类(不研究,出现了错误,改代码)
异常的抛出:
throw new 异常类("");
异常的处理:
不处理,再次声明抛出处理
在抛出异常的方法上 throws xxxException
然后该方法的调用者就必须处理这个异常
捕获处理:
标准的方法:
try{
可能出现问题的代码
}catch(所有可能出现异常的父类 变量名){
处理异常,打印,提示,写入日志
}finally{
释放资源:
1.IO流 2.网络连接 3.数据库连接
}
了解一下:
一次捕获多次处理: 一个try 多个catch (多个catch中 必须是异常子类在前,父类在后)
多次捕获多次处理: 多个try,每个try多应一个catch
一次捕获一次处理(最常用的):一个try一个catch(catch中异常类必须所有可能出现异常的父类)
自定义异常:
固定套路:
1.异常类名 必须用Exception结尾
2.异常类必须 继承 Exception 或者RuntimeException
3.异常类一般提供两个构造: 无参构造+String参数构造
编译时异常和运行时异常 怎么区分别:
1.编译时异常 在编译的时候会报错的 (需要我们去处理)
2.运行时异常 在编译的时候不会报错
只要定义一个方法,在方法中抛出一个异常对象,如果编译报错那么就是编译时异常
如果编译成功,那么就是运行时异常