java物件導向學習筆記

2021-07-03 04:39:46 字數 1704 閱讀 5656

1.類和物件:類可以看成是一類物件的模板,物件可以看成是該類的乙個具體例項.

2.類(物件)之間的關係:聚合,繼承,實現,多型.

3.記憶體區分:  類是靜態概念,**區;  物件是new出來的,位於堆記憶體

4.構造方法(函式):(1)與類同名且沒有返回值

(2)用來初始化物件的函式

(3)new+構造方法,建立乙個新的物件

5.命名規則:類名的首字母大寫,變數名和方法首字母小寫,運用駝峰標識

6.棧記憶體存入乙個引用指向堆記憶體

7.方法過載(overload):相同名字,相同返回型別,當引數不同(個數不同或型別不同),的多個方法

8.static:用static宣告的成員變數稱為靜態的成員變數,公用變數,對於該類的所有物件來說static成員變數只有乙份

用static宣告的方法稱為靜態方法,在呼叫該方法時不會將物件的引用傳遞給他,所以static方法中不能訪問非 

static的成員

可以通過物件引用或類名(不需要例項化)訪問靜態成員

9.訪問控制:

10.方法重寫(override):在子類中可以根據需要對父類中繼承來的方法進行重寫

11.equals:object的equals方法定義為:x.equals(y)當x和y是同一物件的引用時返回true否則返回false(等價於==)

string,date等類重寫了object中的equals()方法,x.equals(y)

當x和y所引用的是同一類物件且屬性內容相等時返回true.

12.多型:(1)要有繼承

(2)要有重寫

(3)父類引用指向子類物件

class animal

public voidenjoy()

}class dog extends animal

public void enjoy()

}class cat extends animal

public void enjoy()}

class lady

public void mypetenjoy()

}public class poolymoph

}輸出為:

貓叫聲......

狗叫聲......

總結:建乙個animal父類,寫其enjoy方法,在把cat、dog等類作為子類繼承animal類,並重寫其enjoy方法;最後把cat、pig這些類全部扔進籃子裡,呼叫其enjoy方法,就會自動地去呼叫cat、pig對應的enjoy方法。

13.抽象:抽象類必須被繼承,抽象方法必須重寫,含有抽象方法的類必須被宣告為抽象類

抽象類不能被例項化

抽象方法只需宣告,而不需實現

14.final:final的變數的值不能被改變,final的方法不能被重寫,final的類不能被繼承

15.介面:介面是抽象方法和常量之的定義和集合

從本質上講,介面是一種特殊的抽象類,這種抽象類中之包含常量和方法的定義,而沒有常量和方法的實現

介面特徵:1、介面可以多重實現

2、介面中宣告的屬性預設為public static final的,也只能是public static final的

3、介面中只能定義抽象的方法,而且這些方法預設為public,也只能是public的

4、介面可以繼承其他介面,並新增新的屬性和抽象方法

JAVA學習筆記 物件導向

寫類要重寫equals和hashcode,在類當作map中的key 鍵 時,一定要重寫hashcode,map中的鍵需要使用equals方法,該方法中呼叫了hashcode判斷是否相同。類中成員變數未手動初始化,虛擬機會自動進行初始化。而區域性變數不能自動初始化,提示該變數未初始化。public c...

java 學習筆記 物件導向(繼承)

將學生與工人的共性描述提取出來,單獨進行描述,只要讓學生和工人單獨描述這個類有關係,就可以了 繼承 1,提高了 的服用性。2,讓類與類之間產生了關係,有了這個關係,才有了多型的特性。注意 千萬不要為了獲取其他類的功能,簡化 而繼承。必須是類與類之間有所屬關係才可以繼承 class person st...

物件導向java學習筆記2

x abc y x和y指向同乙個。x abc y abc x和y的值相同。拓 char x abc char y abc x y的結果是false,判讀的是指標引用的記憶體位址不同 x y的結果是true,兩個指標位址所儲存的數值相同。例項1 package oolearning public cl...