第三次学JAVA再学不好就吃翔(part32)--方法重写
生活随笔
收集整理的這篇文章主要介紹了
第三次学JAVA再学不好就吃翔(part32)--方法重写
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
學(xué)習(xí)筆記,僅供參考
文章目錄
- 面向?qū)ο?/li>
- 方法重寫
- 方法重寫的注意事項(xiàng)
面向?qū)ο?/h2>
方法重寫
- 什么是方法重寫
- 重寫:子父類出現(xiàn)了一模一樣的方法
- 方法重寫的應(yīng)用:
- 當(dāng)子類需要父類的功能,而功能主體子類有自己特有內(nèi)容時(shí),可以重寫父類中的方法。這樣,既沿襲了父類的功能,又定義了子類特有的內(nèi)容。
- 舉個(gè)例子(繼承父類方法,同時(shí)子類也有自己獨(dú)特的方法)
class AnimalBunnyTest1 {public static void main(String[] args) {Bunny b = new Bunny();b.play();}
}class Animal {public void eat() {System.out.println("吃飯飯");}public void play() {System.out.println("玩球球");}}class Bunny extends Animal {public void play() {System.out.println("玩長耳朵");super.play();}}
- 重寫:子父類出現(xiàn)了一模一樣的方法
- 當(dāng)子類需要父類的功能,而功能主體子類有自己特有內(nèi)容時(shí),可以重寫父類中的方法。這樣,既沿襲了父類的功能,又定義了子類特有的內(nèi)容。
輸出:
玩長耳朵 玩球球方法重寫的注意事項(xiàng)
- 方法重寫注意事項(xiàng)
-
父類中私有方法不能被重寫
- 因?yàn)楦割?strong>私有方法子類根本就無法繼承
-
子類重寫父類方法時(shí),訪問權(quán)限不能更低
- 子類權(quán)限最好和父類一致
-
父類靜態(tài)方法,子類也必須通過靜態(tài)方法進(jìn)行重寫
- 其實(shí)這個(gè)算不上方法重寫
-
注意區(qū)分重寫和重載。
-
- 舉個(gè)例子1(訪問父類的私有方法)
報(bào)錯(cuò):
---------- javac ---------- AnimalBunnyTest1.java:4: 錯(cuò)誤: 找不到符號b.play();^符號: 方法 play()位置: 類型為Bunny的變量 b 1 個(gè)錯(cuò)誤Output completed (4 sec consumed) - Normal Termination- 舉個(gè)例子2(子類權(quán)限比父類低)
報(bào)錯(cuò):
---------- javac ---------- AnimalBunnyTest1.java:21: 錯(cuò)誤: Bunny中的play()無法覆蓋Animal中的play()void play() {^正在嘗試分配更低的訪問權(quán)限; 以前為public 1 個(gè)錯(cuò)誤Output completed (5 sec consumed) - Normal Termination- 舉個(gè)例子3(父類為靜態(tài)方法)
報(bào)錯(cuò):
---------- javac ---------- AnimalBunnyTest1.java:21: 錯(cuò)誤: Bunny中的play()無法覆蓋Animal中的play()public void play() {^被覆蓋的方法為static 1 個(gè)錯(cuò)誤Output completed (4 sec consumed) - Normal Termination總結(jié)
以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part32)--方法重写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水星 MW313R V2-V3 无线路由
- 下一篇: 第三次学JAVA再学不好就吃翔(part