java面相对象03

异常在这里插入图片描述

Throwable中的方法在这里插入图片描述

throws和throw在这里插入图片描述

异常处理在这里插入图片描述

自定义异常在这里插入图片描述

细节

在这里插入图片描述
==和equals的区别和联系
“==”是关系运算符,equals()是方法,同时他们的结果都返回布尔值;
“==”使用情况如下:
a) 基本类型,比较的是值
b) 引用类型,比较的是地址
c) 不能比较没有父子关系的两个对象
equals()方法使用如下:

  1. 系统类一般已经覆盖了equals(),比较的是内容。
  2. 用户自定义类如果没有覆盖equals(),将调用父类的equals(比如是Object),而Object的equals的比较是地址(return (this == obj);)
  3. 用户自定义类需要覆盖父类的equals()
    注意:Object的==和equals比较的都是地址,作用相同
    实现高质量的equals方法的诀窍包括
  1. 使用==操作符检查“参数是否为这个对象的引用”;
  2. 使用instanceof操作符检查“参数是否为正确的类型”;
  3. 对于类中的关键属性,检查参数传入对象的属性是否与之相匹配;
  4. 编写完equals方法后,问自己它是否满足对称性、传递性、一致性;
  5. 重写equals时总是要重写hashCode;
  6. 不要将equals方法参数中的Object对象替换为其他的类型,在重写时不要忘掉@Override注解。
原创文章 10 获赞 7 访问量 248

猜你喜欢

转载自blog.csdn.net/qq_45772158/article/details/105886541