标签:getClass 自写 重写 Object equals toString 方法
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方法
回收测试
标签:getClass,自写,重写,Object,equals,toString,方法 来源: https://www.cnblogs.com/xypersonal/p/16088445.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。