無參構造方法是用來初始化資料
方法的過載:方法名相同,引數不同(數量、型別、順序)
靜態變數可以類名直接訪問
例項方法裡不能定義static
靜態方法只能呼叫靜態變數和靜態方法,不能呼叫屬性
靜態塊 類成員 先呼叫 在刪除物件之前呼叫
static
extends繼承
繼承父類所有的屬性和方法(private除外)
子類的構造方法會呼叫父類的構造方法,如果沒有明顯呼叫,則呼叫預設空構造方法
。class 類{
private 屬性
public get/set
空構造帶參構造
方法super( ) 呼叫父類構造方法 要寫第一句 只能寫一次
方法重新
子類重新寫父類的方法
過載:在同乙個類中,方法名相同,引數不同
重寫:在子類中,方法名相同,返回值相同,引數相同,訪問修飾符要求大於等於父類
抽象方法 abstract 沒有方法體
抽象方法必須在抽象類中
抽象方法必須在子類中被實現,除非子類是抽象類
final 類不希望被繼承 方法不希望被重寫 屬性值不想被修改
//重新
equals():
告訴計算機乙個新的比較規則:如果學號和名字都相同,我們認為就是同乙個物件 //
把你傳過來的
obj物件和
this(
當前學員物件)比較
//instanceof
操作符的作用:判斷某乙個物件是否屬於某一種型別 //
繫結機制:靜態繫結
動態繫結 //
例項方法
(動態繫結機制
) 與引用變數實際引用的物件繫結,呼叫重寫後的方法,由執行時的
jvm決定 //
靜態方法
(靜態繫結機制
) 與引用變數所宣告的型別繫結。實際上在編譯階段就做了繫結 //
成員變數
(包括靜態變數和例項變數
,靜態繫結機制
) 與引用變數所宣告的型別繫結。實際上在編譯階段就做了繫結
// father f = new son();
// system.out.println(f.v1);
// system.out.println(f.staticv2);
// f.m1();
// f.staticm2(); 多型
父類的引用指向了子類的物件,可以呼叫子類重寫父類的方法,和父類的屬性、方法
簡單工廠:設計模式中的一種
設計模式:工廠類---》生成產品(物件)
父類:pet
子類1:dog
子類2:cat
子類3:penguin
繼承和多型
物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...
繼承和多型
物件導向程式設計時有乙個非常重要的原則 write once only once 編寫一次,且僅編寫一次 如果沒有繼承這種機制我們可能要重複寫很多 下面來看一下繼承 一 繼承 1 子類如果繼承父類必須使用extends這個關鍵字 2 子類呼叫父類的構造方法使用super關鍵字,也可以通過super來...
繼承和多型
類還有乙個重要的特性就是繼承,什麼是繼承?它又有什麼作用呢?繼承最主要的目的就是為了擴充套件原類的功能,加強或改進原類所沒有定義的屬性及方法。例如我們有狗這個類,可是狗的種類還是有很多,比如說博美狗,聖伯納,柴犬等等,如果只用狗一種類來定義所有種類狗的屬性及方法,那麼用這個類所產生出來的物件一定會有...