"=="是比較兩參考變數所儲存之值,
若該參考變數為基本資料型態, 會比較其存放之值是否相同, 相同則傳回true, 反之則傳回false.
若該參考變數為物件型態, 會比較該變數是否指向同一物件, 相同則傳回true, 反之則傳回false.
"equals()"為Java類別Object原有之函式, 繼承Object時可依據比較之內容及規則覆寫該方法,
若沒有覆寫equals(), 其比較條件如同"==".
JavaAPI有註明當覆寫equals()時, 必須覆寫hashCode(),
因當兩個物件相等時, 其hash code也必定會相等.
(若沒修改, JVM會隨機產生一組hash code)
2008/10/17
[Java] Override 覆寫
當子類別繼承父類別時, 可以透過Override方式改寫父類別的方法,
當使用override修改父類別的方法, 有下列幾點限制:
以下情況皆為重新定義非覆寫:
當使用override修改父類別的方法, 有下列幾點限制:
- 方法名稱不能修改.(改了就是新增方法而不是覆寫了!)
- 若父類別的方法有丟出例外時, 子類別也必須丟出此例外或該例外之子類別.
- 子類別方法所傳回值之型態須與父類別方法一樣. (若更改傳回值之型態, 這樣就是overload了吧!)
- 子類別方法之修飾詞權限不得小於父類別. (繼承的用意就是希望孩子變強, 那有變弱的道理!)
- 若父類別之方法設定為final, 子類別不能修改該方法. (廢言, 都已經是final怎麼改寫)
- 若父類別之方法宣告為static, 子類別不可將其宣告為non-static, 反之亦然.
以下情況皆為重新定義非覆寫:
- 修改父類別之靜態方法
- 修改父類別之private方法
2008/10/14
[SQL] Primary Key 與 Foreign Key
關聯式資料庫(RDB)中, 建立資料表的關聯性是由key組成的.
key可分為Primary Key 與 Foreign Key兩種.
Primary Key:
標記為Primary Key的欄位其值是唯一不可重覆.
Foreign Key:
將兩資料表建立關聯性之欄位其設定Key值為Foreign Key.
key可分為Primary Key 與 Foreign Key兩種.
Primary Key:
標記為Primary Key的欄位其值是唯一不可重覆.
Foreign Key:
將兩資料表建立關聯性之欄位其設定Key值為Foreign Key.
2008/10/08
訂閱:
文章 (Atom)