1 package face_object;
2 /*
3 * Object:所有类的根类。
4 * Object是不断抽取而来的,具备所有对象都具备的共性内容。
5 * 常用的共性功能:
6 *
7 *
8 */
9
10 /*class Fu {// extends Object
11 Fu(){
12 super();
13 }
14 }
15 class Zi extends Fu {
16 Zi(){
17 super();
18 }
19 }
20 */
21 class Person extends Object{
22 private int age;
23 Person(int age){
24 this.age = age;
25 }
26 //比较Person的年龄。是否是同龄人
27 /*public boolean compare(Person p) {
28 return this.age == p.age;
29 }*/
30 /*
31 * 一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相等的依据。
32 */
33 public boolean equals(Object obj) {//重写
34 if(!(obj instanceof Person)) {
35 throw new ClassCastException("类型错误");
36 }
37 Person p = (Person)obj;
38 return this.age == p.age;
39 }
40
41 public int hashCode() {
42 return age;//重写哈希值,以年龄作为哈希值
43 }
44 }
45 class Demo {
46
47 }
48
49
50 public class ObjectDemo {
51 public static void main(String[] args) {
52 Person p1 = new Person(20);
53 Person p2 = new Person(20);
54 Person p3 = p1;
55 Demo d = new Demo();
56 System.out.println(p1==p2);
57 System.out.println(p1.equals(p3));
58 //System.out.println(p1.equals(d));
59 System.out.println(p1);
60 System.out.println(Integer.toHexString(p1.hashCode()));//十进制转十六进制
61
62 }
63 }
64
65 //注意:
66 //当equals方法被重写时,通常有必要重写hashCode方法,以维护hashCode方法的常规协定,该协定声明常规对象必须具备相等的哈希码
67 //不光内容相等 哈希码也要相等 证明对象相等的话。

javaObject类—hashCode方法的更多相关文章

  1. javaObject类—getClass方法

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  2. javaObject类-equals方法及覆盖

    1 package face_object; 2 /* 3 * Object:所有类的根类. 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容. 5 * 常用的共性功能: 6 * 7 ...

  3. JavaSE-28 hashCode()方法、equals()方法和==相关概念

    概述 Java中,Object类是所有类的基类:如果一个类没有明确继承其他已定义的类,则默认继承Object类. Object类提供了以下方法,对于其他方法,请参考前期专题描述. hashCode() ...

  4. Java基础知识强化26:Object类之hashCode()方法、getClass()方法

    1. Object类的hashCode()方法,如下: public  int  hashCode():返回该对象的哈希码值,这个值和地址值有关,但是不是实际地址值(哈希码值是根据实际地址值转化过来的 ...

  5. 关于Java中String类的hashCode方法

    首先来看一下String中hashCode方法的实现源码 public int hashCode() { int h = hash; if (h == 0 && value.lengt ...

  6. Java基础:Object类中的equals与hashCode方法

    前言 这个系列的文章主要用来记录我在学习和复习Java基础知识的过程中遇到的一些有趣好玩的知识点,希望大家也喜欢. 一切皆对象   对于软件工程来说面向对象编程有一套完整的解决方案:OOA.OOD.O ...

  7. 关于Object类的equals方法和hashCode方法

    关于Object类的equals的特点,对于非空引用: 1.自反性:x.equals(x) return true : 2.对称性:x.equals(y)为true,那么y.equals(x)也为tr ...

  8. 11.JAVA-Object类之finalize(),clone(),toString()等方法覆写

    1.Object介绍 Object类是一个特殊的类,是所有类(包括数组,接口 )的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类,所以可以通过向上转型的方法使用 ...

  9. static,final关键字,Object类的tostring方法,equals方法,hashCode方法

    1)static关键字 static可以修饰:属性.方法.代码块 静态方法不能访问非静态 属性 或 方法 属性(变量): 成员变量: 静态变量: 通过 类名.静态变量来访问 通过 对象名.静态变量来访 ...

随机推荐

  1. table中tr、td标签设置只读,不能修改(readonly属性)

    在不能修改的位置加上代码:onselectstart="return false" οnselect="document.selection.empty()" ...

  2. JAVA字符串去掉html代码,获取内容

    有时候我们需要在html代码中获取到文本内容,需要把html代码中的标签过滤掉 String htmlStr="html代码"; htmlStr = htmlStr.replace ...

  3. 1110 距离之和最小 V3

    1110 距离之和最小 V3 基准时间限制:1 秒 空间限制:131072 KB X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i].该点到其他点的带权距离 = 实际距离 * ...

  4. 使用Java对接永中格式转换

    永中格式转换服务基于永中DCS的文档转换能力,支持不同格式文件之间的高质量互转,可实现PDF文档与Word.Excel.PPT.图片的高质量互转,PDF文档转换完美保留原文档的版式,格式等,转换效果出 ...

  5. bootstrap datetimepick 时分秒选择,坑我15个小时,整理记录

    官网的datetimepick 下载链接 官网下载 <input type="text" readonly name="feedDay" id=" ...

  6. Dubbo 的设计思想

    在java远程调用多年的沉淀 <1>首先是socket调用.在orderService中开放socket服务,在userService中进行远程调用. 优点:解决了单机调用的问题. 缺点: ...

  7. pycharm遇到的小问题

    1. Pycharm编写的代码出现满屏的波浪线,如何去除>>>点击右下角的小人图标将箭头移到中间syntax处即可. 2. 运行时报错: UserWarning: No parser ...

  8. <学习opencv>图像和大型阵列类型

    OPenCV /*=========================================================================*/ // 图像和大型阵列类型 /* ...

  9. .net core系列源码地址介绍

    很早就想写.net core相关教程内容了,但是一方面感觉东西太多了,一方面是太懒了,最近才下定决心,一定要写点东西出来,希望能支持一下国内.net 的尴尬处境 好了,先从.net core开源开始吧 ...

  10. Postman保存token并使用token的整个流程

    1. 调通获取token的接口,包含传递参数的类型,和输入密码是否需要md5加密,根据接口的要求,传入数据 2. 查看接口响应的报文,可以看到token的有效时间,token的类型,里面的access ...