第三次学JAVA再学不好就吃翔(part32)--方法重写
生活随笔
收集整理的這篇文章主要介紹了
第三次学JAVA再学不好就吃翔(part32)--方法重写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習筆記,僅供參考
文章目錄
- 面向對象
- 方法重寫
- 方法重寫的注意事項
面向對象
方法重寫
- 什么是方法重寫
- 重寫:子父類出現了一模一樣的方法
- 方法重寫的應用:
- 當子類需要父類的功能,而功能主體子類有自己特有內容時,可以重寫父類中的方法。這樣,既沿襲了父類的功能,又定義了子類特有的內容。
- 舉個例子(繼承父類方法,同時子類也有自己獨特的方法)
輸出:
玩長耳朵 玩球球方法重寫的注意事項
- 方法重寫注意事項
-
父類中私有方法不能被重寫
- 因為父類私有方法子類根本就無法繼承
-
子類重寫父類方法時,訪問權限不能更低
- 子類權限最好和父類一致
-
父類靜態方法,子類也必須通過靜態方法進行重寫
- 其實這個算不上方法重寫
-
注意區分重寫和重載。
-
- 舉個例子1(訪問父類的私有方法)
報錯:
---------- javac ---------- AnimalBunnyTest1.java:4: 錯誤: 找不到符號b.play();^符號: 方法 play()位置: 類型為Bunny的變量 b 1 個錯誤Output completed (4 sec consumed) - Normal Termination- 舉個例子2(子類權限比父類低)
報錯:
---------- javac ---------- AnimalBunnyTest1.java:21: 錯誤: Bunny中的play()無法覆蓋Animal中的play()void play() {^正在嘗試分配更低的訪問權限; 以前為public 1 個錯誤Output completed (5 sec consumed) - Normal Termination- 舉個例子3(父類為靜態方法)
報錯:
---------- javac ---------- AnimalBunnyTest1.java:21: 錯誤: Bunny中的play()無法覆蓋Animal中的play()public void play() {^被覆蓋的方法為static 1 個錯誤Output completed (4 sec consumed) - Normal Termination總結
以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part32)--方法重写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水星 MW313R V2-V3 无线路由
- 下一篇: 第三次学JAVA再学不好就吃翔(part