Object类

Object类,第1张

Object类 一.关于Object类中的toString()方法
  • 源代码长什么样?
public String toString(){
	return getClass().getName() + '@' + Integer.toHexString(hashCode());
}
源代码上toString()方法的默认实现是:
	类名@对象的内存地址转化为十六进制的形式
  • SUN公司设计toString()方法的目的是什么?
    toString()方法设计的目的是:通过调用这个方法可以将一个“java对象”转化成“字符串形式”
  • SUN公司开发java语言的时候,建议所有的子类都去重写toString()方法,toString()方法应该是一个简洁的,详实的,易阅读的
二.关于Object类中的equals方法
  • 源代码长什么样?
public boolean equals​(Object obj){
	return (this == obj);
}
  • SUN公司设计equals方法的目的是什么呢?
    以后编程的过程当中,都要通过equals方法来判断两个对象是否相等。

  • 我们需要研究一下Object类给我的和这个默认的equals方法够不够用?

    在Object类中的equals方法当中,默认采用的是“==”判断两个java对象是否相等,而“ ==”判断的是两个java对象的内存地址。我们应该判断两个java对象的内容是否相等,所以老祖宗的equals方法不够用,子类需要重写equals方法

    总结
    • 以后所有类的toString()方法都需要重写。
      重写规则越简单越好
    • equals方法,以后所有的类的equals方法也需要重写,因为Object中的equals方法比较的是两个对象的内存地址,我们应该比较的内容,所以我们需要重写,重写规则:自己定
    • 基本数据类型比较:使用 ==
    • 对象和对象比较:调用equals方法
    • String类是SUN编写的,所以String类的equals方法重写了。以后判断两个字符串是否相等,要调用字符串对象的equals方法

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5434784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存