Object类

Object类

 

 

方法

getClass()方法

判断两个对象是否属于同一类型

 

 

程序(存疑)

 

 

 

 

经过自己的尝试,发现直接判断s1.getClass == s2.getClass也是可以的,为什么还要分别赋值再比较?

hashCode()方法

判断两个对象是否相同

 

 

程序

 

 

如上图,很明显s1和s3返回的哈希码是相同的,两个对象相同

toString()方法

 

 

程序

 

 

 查看toString源码,发现确实是16进制哈希值,如下图

 

 

 可以自写toString方法来返回自己想要的值

 

 

如上图,自写toString方法返回值是:name:age

Test类调用了自写的toString方法,编译结果自然就成了name:age格式

equals()方法

通过比较两个对象的地址来比较两个对象是否相等,返回true or false

 

 

程序

 

 

 

注意!虽然s4和s5表面相等,但地址是不一样的!equals方法比较后返回false!世另我!

如果我就是想让他俩相等,怎么办?重写方法!

equals方法重写步骤

 

 

重写equals方法

 

 

重写后结果

如下图所示,结果为true

 

 

finalize()方法

用于垃圾文件的回收

 

 

程序

回收垃圾命令是System.gc();

重写finalize方法

 

 

回收测试

 

 

 

posted @ 2022-04-01 18:23  无关风月7707  阅读(21)  评论(0编辑  收藏  举报