Java面向對象(五)

一.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代碼例子:汽車 人


相關文章
相關標籤/搜索