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 RuntimeExceptionNullPointerException extends RuntimeException如果异常之间有继承关系,有顺序 ,越大的越向后放NullPointerException extends RuntimeException
如果捕获的是父类异常 那么子类异常可以省略不写(不捕获) 因为多态调用
finallytry{ }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类的作用与用法的详细内容,更多请关注其它相关文章!
接受失败等于打破完美的面具,接受失败等于放松自己高压的心理,