重載 (Overloading ): 放生在一個類中;方法名稱相同,參數(shù)的類型或個數(shù)不同;
重寫 / 覆寫( Override ): 是發(fā)生在繼承關(guān)系之中,是由子類進(jìn)行覆寫的;方法名稱相同,參數(shù)的類型或個數(shù)相同,方法的訪問權(quán)限不嚴(yán)格.
方法的復(fù)寫舉例:
class A
{
public void fun(){}
}
class B extends A
{
public void fun(){}
}
fun被子類復(fù)寫了 注意:子類復(fù)寫父類的方法時,被復(fù)寫的方法不能比父類擁有更嚴(yán)格的訪問權(quán)限。 即如果我們把A類中fun()方法的訪問權(quán)限修改成default,則此時B類中fun()方法的訪問權(quán)限比A類大。被復(fù)寫后父類中的方法被子類方法覆蓋。一個特殊情況,如果父類中fun()方法訪問權(quán)限為private,子類的訪問權(quán)限為default,明確說:這不叫復(fù)寫,因?yàn)楦割愔械膄un()方法子類看不見即父類被重寫的方法被覆蓋。