Object类的方法
String roString() 返回对象的字符串表现形式 类型 + @ + 哈希值(地址值)
看一个对象的地址值 只能区分是否为同一个对象 没有什么太大意义 所以子类一般都会重写此方法 不再打印地址值 而是打印属性
重写toString方法的快捷键是 alt + shift + s + s
类似*这种运算符不能操作引用数据类型
而==可以操作引用数据类型, 在任何时刻, 只要是==比较引用数据类型 比较的永远都是地址值
public boolean equals(Object obj) 返回boolean类型 比较两个对象是否相等 比较的是地址值
子类可以重写此方法 比较两个对象的属性值
异常和错误的区别
异常可以进行处理,处理后代码可以继续执行
错误不能处理 只能修改代码 否则程序无法执行
第一种异常处理的方式声明异常
throw关键字在方法内使用
throw 异常的对象
throws关键字 在方法的声明上使用 声明异常
throws 异常的类名
注意事项:
1.throws可以声明多个异常,多个异常之间使用逗号隔开
2.throws可以声明多个异常共同的父类
异常的第二种处理方式
try{ 可能出现异常的代码 }catch(异常类名 变量名){ 任意内容 一般打印异常对象的信息 }
多catch的异常处理
try{ 可能出现异常的代码}catch(异常的类名 变量名){ }catch(){ }...
注意事项:
多个catch之间有没有顺序啊?
如果异常之间没有直接继承关系 ,没有顺序
ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException extends RuntimeException
NullPointerException extends RuntimeException
如果异常之间有继承关系,有顺序 ,越大的越向后放
NullPointerException extends RuntimeException
如果捕获的是父类异常 那么子类异常可以省略不写(不捕获) 因为多态调用
finally try{ }catch(){ }finally{ 必须执行的代码 无论是否有异常 无论是否处理了异常 }
编译时异常与运行时异常的区别
编译时异常Exception
在编译期报错 ,必须处理,不处理程序不能执行
运行时异常 RuntimeException
在编译时不报错,运行时才报错,可以处理,也可以不处理,运行时异常,不推荐处理
一般情况下 出现运行时异常都是代码有问题 要修改代码
当运行时异常被抛出程序会中断,所以我们有时会使用运行时异常帮助我们中断程序
子父类方法重写的异常问题
如果父类方法抛异常
子类可以不抛异常
子类也可以抛异常 但是 子类抛的异常必须要小于等于父类抛的异常
如果父类方法不抛异常
子类也不可以抛异常 如果子类中有异常 只能自己处理 不可以抛出
异常的三个常用的方法
获取异常信息的方法
String getMessage() "文件没找到"
String toString() java.io.FileNotFoundException: 文件没找到
void printStackTrace() 最详细的异常信息 异常的类名 字符串 位置等等
自定义异常
继承Exception 就是编译时异常 继承RuntimeException就是运行时异常
添加构造方法
1 public class NoAgeException extends Exception{ 2 3 public NoAgeException(){ 4 5 } 6 7 public NoAgeException(String message){ 8 // System.out.println(message); 9 super(message);10 }11 }
======================================================
1 public class NoAgeException extends RuntimeException{ 2 3 public NoAgeException(){ 4 5 } 6 7 public NoAgeException(String message){ 8 // System.out.println(message); 9 super(message);10 }11 }
自定义异常的使用
JDK提供的异常如何使用 自定义异常就如何使用
自定义异常的处理
要么throws 要么try catch
以上就是java中Object类的作用与用法的详细内容,更多请关注Work网其它相关文章!