Java中方法的重寫
阿新 • • 發佈:2019-01-03
一、方法的重寫:
1.子類中出現了和父類中一模一樣的方法宣告,也被稱為方法覆蓋,方法重寫(複寫);
2.重寫的格式:
1).返回值型別方法名 ,形參列表:必須完全一致;
A."返回值型別"和"方法名"相同,"引數列表"不同:編譯通過。類似於"過載",子類定義了一個自己的方法
B."方法名"和"引數列表"相同,"返回值型別"不同:編譯錯誤。如果"方法名"和"形參列表"相同,要求"返回值型別"必須相同;
2).訪問修飾符:
要求:
子類的方法所具有的訪問修飾符必須跟父類的方法的訪問修飾符相同,或更寬的訪問修飾符;
public,protected,(預設),private(從寬到窄)
3、當子類需要父類的功能,而功能主體子類有自己特有內容時,
可以重寫父類中的方法,
這樣,即沿襲了父類的功能,又定義了子類特有的內容。
4、方法重寫的注意事項
1.父類中私有方法不能被重寫。
2.子類重寫父類方法時,訪問許可權不能更低。必須是具有:相同,或更寬的訪問許可權;
3.父類靜態方法,子類也必須通過靜態方法進行重寫。
4.父類被final修飾的方法不能被重寫
5、方法重寫和方法過載的區別
1.方法重寫和方法過載的區別?方法過載能改變返回值型別嗎?
1.Overload:過載
2.Override:重寫
1.過載:在一個類中,可以定義多個同名的方法,但形參列表不完全相同;跟返回值無關;
2.重寫:在子類中,可以定義跟父類一模一樣的方法(返回值型別、方法名、形參列表完全相同
子類的方法會覆蓋父類中同名的方法。