中关村在线

软件

Object类核心解析

java.lang包无需手动导入,编译器会在编译时自动引入该包中的内容。

1、 Object类包含基础方法

2、 创建方法

3、 文档中的类概述

4、 Java中每个类都继承自Object类,具备其定义的基本方法。

5、 Object类中的描述为:

6、 此法颇为独特,与众不同。

7、 采用此方法的类需实现java.lang.Cloneable接口,否则将引发CloneNotSupportedException异常。该接口作为标记接口,用于表明对象允许被克隆,若未实现则无法通过clone方法复制实例。

8、 Cloneable接口不含任何方法,实现时只需在类声明中添加implements关键字即可。

9、 该方法采用protected修饰,较为特殊。在重写clone()方法时,需将其声明为public,以便类外部代码能够调用,确保克隆功能正常对外暴露。

10

11、 ==用于判断两个引用是否指向同一对象。

12、 Object类的equals()方法用于判断调用该方法的引用与传入的引用是否指向同一个对象,即两个引用在内存中的地址是否相同。

13、 Object类的equals()方法用于比较两个对象是否相等。

14、 {

15、 }

16、 Object类的equals方法与==运算符的作用相同。

17、 只有当一个继承自Object类的子类重写了equals()方法,并通过该方法判断两个对象内容是否相等时,才能体现出equals()方法与==运算符之间的本质区别。否则,默认情况下两者均比较对象的引用地址。

18

19、 equals方法应具备自反性、对称性、传递性、一致性及非空比较特性。

20、 自反性指对于任意非空引用x,调用x.equals(x)必须返回true。

21、 对称性要求:对于任意两个非空引用x和y,当且仅当y.equals(x)为真时,x.equals(y)也为真。

22、 传递性:对于任意非空引用x、y和z,若x与y相等,且y与z相等,则x也必然与z相等。即当x.equals(y)和y.equals(z)均为true时,x.equals(z)也必须为true。

23、 一致性:对于两个非空引用x和y,在未改变其用于比较的字段的前提下,多次调用x.equals(y)应始终返回相同的结果,确保相等判断的稳定性与可预测性。

24、 规定:任何非空引用调用equals方法传入null时,均应返回false。

25、 重写equals方法时必须同时重写hashCode方法,以确保对象在集合中的行为一致。

26、 覆写equals()方法时,必须同时覆写hashCode()方法,两者需保持一致,反之亦然。

27、 该方法返回一个整数形式的哈希码。若两个对象通过equals()方法判定为相等,则它们应具有相同的哈希码值,以确保在哈希表等结构中的正确性与一致性。

28、 Object类的hashCode()方法会为不同对象返回不同的整数,其返回值通常基于对象在内存中的地址生成,因此每个对象的哈希码具有唯一性。

29、 hashCode的通用约定包括:相等对象必须有相同哈希值,哈希值应保持一致且利于散列分布。

30、 在Java程序的一次运行中,若参与equals比较的对象信息未发生变化,则该对象多次调用hashCode方法应始终返回相同的整数值。

31、 每次运行应用时,该值可不同,无需在多次执行间保持一致。

32、 若两个对象通过equals()判定相等,则它们的hashCode()返回值应相同。

33、 3. 当equals()判断两个对象不相等时,并不要求它们的hashCode()必须返回不同值,这是非强制性的规定。

34、 当两个对象通过equals()方法比较返回false时,它们的hashCode可以相同或不同。然而,若能让不相等的对象生成不同的hashCode,有助于提升哈希表的性能,减少冲突,提高查找效率。因此,在重写hashCode方法时应尽量保证这一点。

35、 调用System.out.println()打印引用时,系统会自动调用该引用所指向对象的toString()方法,并输出其返回值。由于Java中所有类都直接或间接继承自Object类,而Object类中定义了toString()方法,因此每个类都具备该方法,无需额外实现即可使用。

36、 Object类中toString()方法的实现方式如下所示:

37、 {

38、 }

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具