方法重寫和過載

2021-08-06 08:15:42 字數 1446 閱讀 1424

方法過載就是在乙個類中可以定義多個方法名形同但是方法引數個數、型別、順序至少有乙個不一樣。

過載的好處就是:我們可以很根據實際情況靈活地呼叫過載方法。

1、構造方法的過載

public

class student

public

student(string name)

public

student(int age)

public

student()

}

以上**過載了幾個構造方法,我們可以根據引數的不同而靈活的呼叫構造方法來建立物件

public

static

void main()

注意

s1.name是null s1.age是0

s2.name是張三 s2.age是18

s3.name是李四 s3.age是0

s4.name是null s4.age是20

如果過載了構造方法那麼預設的構造方法就失效了。

2、普通方法的過載

public

void

eat(int count,string food)

public

void

eat(string food)

public

void

eat()

如以上**所示,由於普通方法的引數不一樣,根據引數的不一呼叫不同的方法體。

子類在繼承父類之後,父類中存在乙個方法,但是在子類中對應的這個方法實現不一樣這個時候我們就需要用到方法重寫。

public

class middelstudent

}

public

class

hightstudent

extends

middelstudent

}

就像以上**寫到的一樣,有兩個類,高中生類繼承了初中生類,自然也繼承了初中生的學習方法「study」,但是就像大家所知道的,高中生的學習時間自然不會和初中生的學習時間一樣,這就可以利用方法重寫來修改方法。

1、需要存在繼承關係;

在上述**中,高中生類:hightstudent 繼承了初中生類:middelstudent,這樣高中生類才能重寫初中生類的學習方法:study()。

2、子類方法的訪問修飾符要大於或等於父類方法的訪問修飾符;

在上述**中,父類middelstudent和子類hightstudent 類的方法訪問修飾符都為public。

3、子類方法的返回值型別,方法名,必須要和父類的一致;

1、構造方法;

2、有final關鍵字的方法;

3、訪問修飾符是private的方法;

方法重寫和過載

簡介 在同乙個類中,存在兩個或者兩個以上的同名函式,叫做方法的過載,讓類以統一的方式處理不同型別的資料,是多型的體現。在編譯器的眼裡,方法名稱 引數型別 引數個數,組成唯一鍵,稱為 方法簽名 jvm通過這個唯一的鍵,確定呼叫哪個過載的方法。要求 1 方法名一樣 2 引數列表不一樣 3 與方法的返回型...

方法過載和重寫

方法過載和重寫 過載 過載是發生在本類中的 方法名相同,引數型別和個數不同,方法的過載跟返回值型別和修飾符無關 1 必須具有不同的引數列表 2 可以有不同的返回型別,只要引數列表不同就可以了 3 可以有不同的訪問修飾符 4 可以丟擲不同的異常 重寫 發生在子父類中 所謂方法的重寫是指子類中的方法與父...

方法重寫和方法過載

方法的重寫 也叫方法的覆寫 其就是在子類覆寫乙個與父類名字一樣且引數列表相同的方法。以及返回值與修飾符也需要遵循以下規則。方法重寫遵循規則 兩同 兩小 一大 兩同 方法名相同 引數列表相同 兩小 被覆寫的方法在子類中的返回值的引用型別的範圍比父類小或者與父類相同。返回值型別只能與父類的返回值型別一致...