一.Object類html
1.==與equals的使用java
1.1:==node
基本類型之間使用:「==」是判斷兩個基本類型的變量的值是否相等
引用類型之間使用:「==」 是判斷兩個引用的「地址"是否相等,若是引用同一對象則返回true,不然返回falseide
1.2:equals方法的含義this
Object中的equals方法spa
public boolean equals(Object obj){ return (this==obj); }
與"=="相同,比較兩個引用是否相等。指針
1.3若是比較兩個引用所引用的對象的內容是否相等,則須要重寫equals方法:code
@Override public boolean equals(Object obj){ //比較兩個引用是否引用同一個學生對象 if(this==obj){ return true; } //比較obj是否爲Student類型:instanceof if(obj instanceof Student){ //向下轉型 把obj轉成student Student s = (Student)obj; //比較學校 if(this.studentId != s.studentId) return false; //比較姓名 if(this.name==null){//避免引發空指針異常 if(s.name!=null) return false; }else if(!this.name.equals(s.name))return false; return true; } return false; }
2.toString方法htm
方法的原型:
public String toString(){}
返回該對象的字符串表示: 該字符串由類名(對象是該類的一個實例)、at 標記符「@」和此對象哈希碼的無符號十六進制表示組成
自定義的類若是實現調用toString()方法時返回對象的內容時須要重寫此方法:對象
在定義實體類,bo等,建class類,寫好參數屬性。
快捷鍵:alt+shift+s,而後選擇toString
3.finalize方法:
方法的原型 protected void finalize() throws Throwable
當垃圾回收器肯定不存在對該對象的更多引用時,由對象的垃圾回收器調用此方法。
子類重寫finalize方法,以配置系統資源或執行其餘清除。
對於任何給定對象,Java 虛擬機最多隻調用一次finalize方法
4.控制訪問權限的修飾符:
4.一、訪問修飾符:
1).private
2) .默認的
3).protected
4).public
4.二、建立類時的訪問修飾符僅可爲:public ,默認的
5.匿名內部類
5.一、什麼是內部類?
定義在類內部的類
5.二、內部類的分類:
1)成員內部類 2)靜態內部類 3)局部內部類 4)匿名內部類
注意:除了靜態內部外,其餘內部類中不能定義靜態成員
5.三、什麼樣的內部類能夠定義爲匿名內部類
1) 此內部類僅使用一次
2) 內部類繼承自某一個父類或實現某一個接口,並重寫父類或接口中的方法
3) 內部類中沒有本身特有的方法和屬性
5.四、匿名內部類的建立方式
匿名內部類把類的定義和建立一塊兒完成
繼承自某個父類:
父類類名 引用名 = new 父類類型(參數){類體};
實現某一個接口:
接口名 引用名 = new 接口名(){ 類體};
5.五、內部類的好處
1)實現多繼承
2)隱藏了內部類的信息:內部類可使用四種修飾符修飾
3)內部類能夠訪問外部類的信息
4)能夠以不一樣的實現方式重寫父類和接口中的同名方法
5.6代碼例子:汽車 人