Object 对象详解
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
面向?qū)ο蟮暮诵乃枷?“找合適的對象,做適合的事情”。
合適的對象:
1. 自己描述類,自己創(chuàng)建對象。
2. sun已經(jīng)描述了好多常用的類,可以使用這些類創(chuàng)建對象。
API(Application Program Interface)
sun定義的那么多類的終極父類是Object。Object描述的是所有類的通用屬性與方法。
1.1?toString方法
toString() 返回對象的描述信息 java.lang.Object@de6ced 類名@哈希碼值的十六進制形式。
直接輸入一個對象的時候,會調(diào)用對象的toString方法。
練習:自定義一個Person類,打印該對象的描述信息,要求描述信息為:姓名 — 年齡
問題:調(diào)用p的toString方法時,打印出來的信息是類名+內(nèi)存地址值。不符合要求。根據(jù)我們之前學(xué)的繼承,假如父類的指定的功能不能滿足要求,那么子類可以復(fù)寫父類的功能函數(shù)。那么該對象再調(diào)用toString()方法時,則會調(diào)用子類復(fù)寫的toString方法。
編程習慣:開發(fā)者要對自定義的類重寫toString(),對對象做詳細的說明
1.1?equals方法
equals()?返回的是比較的結(jié)果 如果相等返回true,否則false,比較的是對象的內(nèi)存地址值。
問題:比較兩個人是否是同一個人,根據(jù)兩個人的名字判斷。
問題:如果根據(jù)名字去作為判斷兩個人是否是同一個時,明顯p與p1是同一個人,但是程序輸入?yún)s不是同一個人。不符合我們現(xiàn)實生活的要求。
解決:?根據(jù)我們學(xué)的繼承中的函數(shù)復(fù)寫,如果父類的函數(shù)不能滿足我們目前的要求,那么就可以在子類把該功能復(fù)寫,達到復(fù)合我們的要求。
編程習慣:開發(fā)者要對自定義的類重寫equals(),使得比較兩個對象的時候比較對象的屬性是否相等,而不是內(nèi)存地址。
1.1?hashCode方法
hashCode()?返回該對象的哈希碼值: 采用操作系統(tǒng)底層實現(xiàn)的哈希算法。 同一個對象的哈希碼值是唯一的。
java規(guī)定如果兩個對象equals返回true,那么這兩個對象的hashCode碼必須一致。
?
轉(zhuǎn)載于:https://my.oschina.net/u/1054538/blog/1648335
總結(jié)
以上是生活随笔為你收集整理的Object 对象详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 多IDC GSLB的部署
- 下一篇: LNMP源码安装脚本
