本文出自【吳孝城的csdn部落格】
package cn.wuxiaocheng;
class
animal
}class
dogextends
animal
}public
class
test
}
結果如圖
@override表明這個方法是重寫其父類方法,沒有它不會報錯,但是沒有它時,下面重寫的方法名寫錯時系統不會報修。
1、宣告為final的方法不能被重寫
2、宣告為static的方法可以被再次宣告,但不能被重寫
3、子類和父類在同一包中時,子類可以重寫父類中除了宣告為private或final的其他所有方法
4、子類和父類不在同一包中時,子類只能重寫父類中宣告為public或protected的非fnial方法
5、構造方法不能被重寫
package cn.wuxiaocheng;
class myoverloading
// 引數為string
public
void
people(string name)
// 引數為int,返回int型別的值
public
intpeople(int age)
// 引數為string, int
public
void
people(string name, int age)
// 引數為int, string
public
void
people(int age, string name)
}public
class test
}
結果如圖
區別點過載方法
重寫方法
方法名相同
相同返回值型別
可以修改
相同引數
引數不同或引數順序不同
相同訪問修飾符許可權
沒有要求
被重寫的方法許可權不得比父類嚴格
範圍同一類中
在繼承中
修飾符當前類
同一包子孫類
全可見private
√default√√
protected√√
√public√√
√√其中什麼都沒寫的就是default,有的也叫friendly
重寫 override)和過載(overload
摘要 首先重寫和過載都是多型的一種體現方式。過載是編譯期間的活動,重寫是執行期間的活動 其次,過載是在乙個類中定義相同的名字的方法,方法的引數列表或者型別要互相不同,但是返回值型別不作為是否過載的標準,可以修改可見性 重寫是不同的,要求子類重寫基類的方法時要與父類方法具有相同的引數型別和返回值,可見...
C 重寫 override 和覆蓋 new
重寫 用關鍵字 virtual 修飾的方法,叫虛方法。可以在子類中用override 宣告同名的方法,這叫 重寫 相應的沒有用virtual修飾的方法,我們叫它實方法。重寫會改變父類方法的功能。覆蓋 在子類中用 new 關鍵字修飾 定義的與父類中同名的方法,叫覆蓋。覆蓋不會改變父類方法的功能。示例 ...
C 方法重寫(override)
重寫 override 重寫 類的繼承時發生,在子類中重新定義父類中的方法,子類中的方法和父類的方法是一樣的,即方法名,引數,返回值型別都相同。例如 基類方法宣告為virtual 虛方法 派生類中使用override宣告此方法的重寫.重寫override一般用於介面實現和繼承類的方法改寫,要注意 1...