Object 對象詳解

面向對象的核心思想:「找合適的對象,作適合的事情」。java

合適的對象:算法

1. 本身描述類,本身建立對象。編程

2. sun已經描述了好多經常使用的類,能夠使用這些類建立對象。函數

API(Application Program Interface)操作系統

sun定義的那麼多類的終極父類是Object。Object描述的是全部類的通用屬性與方法。3d

1.1 toString方法對象

toString() 返回對象的描述信息 java.lang.Object@de6ced 類名@哈希碼值的十六進制形式。blog

直接輸入一個對象的時候,會調用對象的toString方法。繼承

練習:自定義一個Person類,打印該對象的描述信息,要求描述信息爲:姓名 — 年齡內存

問題:調用p的toString方法時,打印出來的信息是類名+內存地址值。不符合要求。根據咱們以前學的繼承,假如父類的指定的功能不能知足要求,那麼子類能夠複寫父類的功能函數。那麼該對象再調用toString()方法時,則會調用子類複寫的toString方法。

編程習慣:開發者要對自定義的類重寫toString(),對對象作詳細的說明

1.1 equals方法

equals() 返回的是比較的結果 若是相等返回true,不然false,比較的是對象的內存地址值。

問題:比較兩我的是不是同一我的,根據兩我的的名字判斷。

問題:若是根據名字去做爲判斷兩我的是不是同一個時,明顯p與p1是同一我的,可是程序輸入卻不是同一我的。不符合咱們現實生活的要求。

解決: 根據咱們學的繼承中的函數複寫,若是父類的函數不能知足咱們目前的要求,那麼就能夠在子類把該功能複寫,達到複合咱們的要求。

編程習慣:開發者要對自定義的類重寫equals(),使得比較兩個對象的時候比較對象的屬性是否相等,而不是內存地址。

1.1 hashCode方法

hashCode() 返回該對象的哈希碼值: 採用操做系統底層實現的哈希算法。 同一個對象的哈希碼值是惟一的。

java規定若是兩個對象equals返回true,那麼這兩個對象的hashCode碼必須一致。

相關文章
相關標籤/搜索