方法過載就是在乙個類中可以定義多個方法名形同但是方法引數個數、型別、順序至少有乙個不一樣。
過載的好處就是:我們可以很根據實際情況靈活地呼叫過載方法。
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 可以丟擲不同的異常 重寫 發生在子父類中 所謂方法的重寫是指子類中的方法與父...
方法重寫和方法過載
方法的重寫 也叫方法的覆寫 其就是在子類覆寫乙個與父類名字一樣且引數列表相同的方法。以及返回值與修飾符也需要遵循以下規則。方法重寫遵循規則 兩同 兩小 一大 兩同 方法名相同 引數列表相同 兩小 被覆寫的方法在子類中的返回值的引用型別的範圍比父類小或者與父類相同。返回值型別只能與父類的返回值型別一致...