成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 子類重寫的方法和父類重寫的方法,兩個(gè)之間的調(diào)用

瀏覽:139日期:2024-02-01 17:18:36

問(wèn)題描述

1.當(dāng)子類對(duì)象調(diào)用重寫的方法時(shí),調(diào)用的是子類的方法,而不是父類中被重寫的方法。要想調(diào)用父類中被重寫的方法,則必須使用關(guān)鍵字super。這句話該怎么理解呢?子類對(duì)象調(diào)用重寫方法,

public class Test { public static void main(String[] args) { show(new Cat()); // 以 Cat 對(duì)象調(diào)用 show 方法 show(new Dog()); // 以 Dog 對(duì)象調(diào)用 show 方法 Animal a = new Cat(); // 向上轉(zhuǎn)型a.eat(); // 調(diào)用的是 Cat 的 eat Cat c = (Cat)a;// 向下轉(zhuǎn)型c.work();// 調(diào)用的是 Cat 的 catchMouse } public static void show(Animal a) { a.eat(); // 類型判斷if (a instanceof Cat) { // 貓做的事情 Cat c = (Cat)a; c.work(); } else if (a instanceof Dog) { // 狗做的事情 Dog c = (Dog)a; c.work(); } } } abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println('吃魚'); } public void work() { System.out.println('抓老鼠'); } } class Dog extends Animal { public void eat() { System.out.println('吃骨頭'); } public void work() { System.out.println('看家'); } }這里的子對(duì)象cat和dog,調(diào)用的都是父類的eat。怎么說(shuō)“當(dāng)子類對(duì)象調(diào)用重寫的方法時(shí),調(diào)用的是子類的方法,而不是父類中被重寫的方法”?這話怎么理解呢?要想調(diào)用父類中被重寫的方法,則必須使用關(guān)鍵字super

問(wèn)題解答

回答1:

你這個(gè)例子并沒(méi)有使用super 建議 將父類的eat方法實(shí)現(xiàn)一下 再在子類 里 使用super.eat();

“當(dāng)子類對(duì)象調(diào)用重寫的方法時(shí),調(diào)用的是子類的方法,而不是父類中被重寫的方法” 多態(tài) 應(yīng)該知道吧. 父類的引用 指向子類的實(shí)例. 因?yàn)樽罱K實(shí)例的是子類 所以 調(diào)用 的就是子類 的方法.

但是這時(shí) 我想調(diào)用 父類的 那個(gè)方法(eat) 怎么辦, 這時(shí)就用super 2.super 的使用例如 :

public class Test1 {public static void main(String[] args) { show(new Cat()); // 以 Cat 對(duì)象調(diào)用 show 方法 show(new Dog()); // 以 Dog 對(duì)象調(diào)用 show 方法 Animal a = new Cat(); // 向上轉(zhuǎn)型 a.eat(); // 調(diào)用的是 Cat 的 eat Cat c = (Cat)a;// 向下轉(zhuǎn)型 c.work();// 調(diào)用的是 Cat 的 catchMouse}public static void show(Animal a) { a.eat(); // 類型判斷 if (a instanceof Cat) { // 貓做的事情Cat c = (Cat)a;c.work(); } else if (a instanceof Dog) { // 狗做的事情Dog c = (Dog)a;c.work(); }} } abstract class Animal {** void eat(){ System.out.println('父類eat...'); } } class Cat extends Animal {public void eat() { **super.eat(); System.out.println('吃魚');}public void work() { System.out.println('抓老鼠');} } class Dog extends Animal {public void eat() { System.out.println('吃骨頭');}public void work() { System.out.println('看家');} } 輸出 結(jié)果

父類eat...吃魚抓老鼠吃骨頭看家父類eat...吃魚抓老鼠

標(biāo)簽: java
主站蜘蛛池模板: 国产高清在线精品免费 | 黄色在线不卡 | 九九视频精品全部免费播放 | 91一区二区在线观看精品 | 一级床上爽高清播放 | 亚洲日韩精品欧美一区二区一 | a级毛片免费观看在线播放 a级毛片免费看 | 不卡一区二区在线观看 | 久久99精品久久久久久久野外 | 手机看片国产日韩 | 韩国日本一级毛片免费视频 | 荡女妇边被c边呻吟久久 | 色18美女社区| 亚洲国产二区三区久久 | 日本国产欧美 | 欧美亚洲一区 | 国产成人精品视频 | 波多野在线播放 | 欧美在线做爰高清视频 | 久久视频在线观看免费 | 日韩欧美亚洲每的更新在线 | 国产精品视频网址 | 欧美午夜视频一区二区 | 日韩精品欧美国产精品亚 | 久久爱91| 97天天干 | 欧美激情免费观看一区 | 在线欧美视频 | 国内黄色精品 | 日本一级毛片免费播放 | 久久久久毛片成人精品 | 亚洲欧美日韩视频一区 | 国产精品高清久久久久久久 | 成人毛片免费 | 99毛片| 欧美视频在线观在线看 | 九九久久久久久久爱 | 最新理论三级中文在线观看 | 美女视频黄a视频免费全程 美女视频黄a视频免费全过程 | 国产亚洲精品资源一区 | 99在线热视频 |