Object:所有类的根类。
Object是不断抽取而来,具备着所有对象都具备的共性内容。
class Person extends Object {private int age;Person(int age) {this.age = age;}/* 老方法:比较Person的年龄。是否是同龄人 */// public boolean compare(Person p) { return this.age ==// p.age; }/* 新方法:一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据。(常用复写equals) */public boolean equals(Object obj)// Object obj = p2;隐藏着向上转型{// 健壮性判断if (!(obj instanceof Person)) {throw new ClassCastException("类型错误");}Person p = (Person) obj;// 向下转型,否则无法调用Person的属性agereturn this.age == p.age;}/* 复写hashcode() */// public int hashCode() {// return age;// }/* 复写toString() */// public String toString() {// return "Person:" + "age=" + age;// }
}class ObjectDemo {public static void main(String[] args) {Person p1 = new Person(60);Person p2 = new Person(20);// System.out.println(p1.equals(p2));// System.out.println(p1);// 默认调用p1.toString// System.out.println(Integer.toHexString(p1.hashCode()));/* 是不是同一个类 */// Class clazz1 = p1.getClass();// Class clazz2 = p2.getClass();// System.out.println(clazz1 == clazz2);// System.out.println(clazz1.getName());// Person// System.out.println(p1.toString());// Person@61de33// System.out.println(p1.getClass().getName() + "$" +// Integer.toHexString(p1.hashCode()));// Person$61de33// System.out.println("==:" + (p1 == p2));// System.out.println("equals:" + p1.equals(p2)); //// equals()方法,比较的是地址值。对于非字符串变量,equals比较的是内存的首地址,这时候和==是一样的,即比较两边指向的是不是同一个对象。}
}

  

 

转载于:https://www.cnblogs.com/kkkky/p/6572660.html

Object类—复写equals方法,hashCode方法,toString方法相关推荐

  1. 番石榴的对象类:Equals,HashCode和ToString

    如果您有幸使用JDK 7 ,那么新的可用Objects类 ( 至少对我来说 )是实现"通用" Java对象方法(例如equals(Object) [with Objects.equ ...

  2. IntelliJ IDEA:使用Google Guava生成equals,hashCode和toString

    问题 在Java领域,我们经常需要编写equals , hashCode和toString方法. 老实说,这通常只是一个样板义务. 得益于智能IDE,我们通常不再自己这样做. 我们只是让和IDE一起努 ...

  3. 重写Object类的equals方法

    package com.learn.demo01.Object;import java.util.ArrayList;public class Demo02Equals {public static ...

  4. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  5. 《Java 核心技术卷1 第10版》学习笔记------Object类的 equals 方法

    Object 简述 Object 类是 Java 中所有类的始祖, 在 Java 中每个类都是由它扩展而来的. 在 Java 中, 只有基本类型 ( primitive types) 不是对象, 例如 ...

  6. Object类的equals方法

    equals方法 很多面试题都会问equals方法和 == 运算符的区别,== 运算符用于比较基本类型的值是否相同,或者比较两个对象的引用是否相等,而equals用于比较两个对象是否相等,这样说可能比 ...

  7. Java基础Object类的equals方法

    关于Object类中的equals方法 1.equals方法的源代码 public boolean equals(Object obj) {return (this == obj);}以上这个方法是O ...

  8. Java重写object类的equals方法

    1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...

  9. java——API—— Object类——重写equals方法

    重写Object类的equals方法 如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则可以覆盖重写equals方法. Object类的equals方法,默认比较的是两个 ...

最新文章

  1. 递归删除父节点及所有子节点(转)
  2. 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)
  3. 读取xml文件基于xpath
  4. python显示小数点后几位数_Python编程从入门到实践-连载1(变量和简单数据类型)...
  5. 一分钟了解阿里云产品:ESC五大热点技术问题分析
  6. web安全day43:网络扫描和Nmap的使用
  7. QIIME 2教程. 22命令行界面q2cli(2021.2)
  8. 皮尔兹777301安全继电器
  9. 1024程序员节日,祝愿所有的程序员节日快乐
  10. 职场小白手收藏篇:职场应聘的面试技巧
  11. 为什么肯德基和麦当劳总是开在一起?
  12. 读书分享 《如何阅读一本书》|检视阅读
  13. P3802 小魔女帕琪 期望
  14. 电阻-横向评测(转载)
  15. 大学专业课真题(百度拷贝过来的)
  16. 数论数学:所有自然数之和为-1/12的证明
  17. WDF VIOLATION 你的电脑遇到问题,需要重新启动
  18. Mac系统如何进入mysql
  19. 【Latex】Latex插入代码块
  20. 在线教育网站源码教学视频加速的解决方案

热门文章

  1. Hardcoded string , should use @string resource警告 Tag start is not closed
  2. VMX虚拟机环境下CentOS/Linux扩展磁盘空间,并且增加HOME目录的大小!
  3. 引入sentinel后,json转化异常
  4. JVM_03 运行时数据区 [ 程序计数器+本地方法栈 ]
  5. 日常生活小技巧 -- 百度地图坐标拾取
  6. SpringBoot学习系列之一
  7. 迁移学习简介(tranfer learning)
  8. 干货 | 算法工程师入门第二期——穆黎森讲增强学习(一)
  9. android中占容器比例,Android中的容器
  10. 数据去重复_字典应用实例(每行每列都要去重复值)