关于克隆clone 及 hashCode相关知识点
1.克隆clone知识点:
1.1 相当于对原对象进行复制
1.2 本体代码修改不会影响副本的创建过程,维护性好
/*
* 重写继承自Object中的克隆方法
* 1.让该类实现java.lang.Cloneable接口
* 2.将clone方法的访问权限扩大为public
* 3.将clone方法的返回值类型缩小为Person类型
* 4.强制将return后的返回值转换为Person类型
*/
2. 关于hashCode的相关知识点(必须记住):
2.1 hashCode jvm(java虚拟机)依据hashCode区分内存中的对象
2.2 hashCode的生成规律:
/*
* 1.以对象内存地址为基础生成hashCode:
* 在默认情况下(没有重写Object中的hashCode方法),此时hashCode以对象的内存地址为基础生成
* 此时,hashCode相同的对象,在内存中一定是同一个.即,如果两个对象的变量生成的hashCode是同一个
* 值,那么,在内存中两个变量是指向同一个对象的.
* 如下p 和 p2 在内存中就是指向同一个对象 而p3则是在内存中红指向另一个对象,哪怕值是相同的
*
* 2.以内容为基础生成hashCode
* 内存中的两个对象,如果内容相同,则hashCode一定相同
*
hashCode & clone
最新推荐文章于 2024-03-27 10:35:18 发布