<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一個未曾想到的問題

    給代碼吧。
    接口:
    1 package com.duduli.li;
    2 
    3 public interface AbstratImp {
    4     public void display();
    5 }
    抽象類:
    1 package com.duduli.li;
    2 
    3 public abstract class Abstrat {
    4     public void display(){
    5         System.out.println("welcome");
    6     }
    7 }
    實現類:
    1 package com.duduli.li;
    2 
    3 public class TestAbstrat extends Abstrat implements AbstratImp{
    4     @Override
    5     public void display() {
    6         System.out.println("bye");
    7     }
    8 }
    測試類:
     1 package com.duduli.li;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         Abstrat ta = new TestAbstrat();
     6         AbstratImp ti = new TestAbstrat();
     7         ta.display();
     8         ti.display();
     9     }
    10 }
    結果很容易知道是都是bye bye。
    不過大家有沒有想過,在實現類中的display方法有沒有復寫抽象類中的display方法,還是只是實現了接口中的display方法呢?
    或是先復寫了抽象類中的display,然后又在實現接口中的display方法,進而再復寫了抽象類中的display方法了。
    希望有高手能解答一下。

    posted on 2009-03-02 22:37 duduli 閱讀(1742) 評論(14)  編輯  收藏 所屬分類: java

    評論

    # re: 一個未曾想到的問題[未登錄] 2009-03-03 00:40 飄然

    不知所云,你到底想表示什么?

    ”在實現類中的display方法有沒有復寫抽象類中的display方法,還是只是實現了接口中的display方法呢?“ 在你的想象中,java的method,interface,override是什么啊,怎么有這么莫名其妙的說法?  回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-03 09:36 duduli

    其實也沒沒有想表示什么。只是以前并沒有想過這樣的問題。現在想想。當然你不明白也是很正常的,如果你把上面的例子運行一下或許就會知道的,為什么上面不會輸出welcome。有沒有這樣想過呢?@飄然
      回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-03 12:19 ghyghost

    應該是覆蓋抽象類中的  回復  更多評論   

    # re: 一個未曾想到的問題[未登錄] 2009-03-03 12:22 蝸牛

    其實 ta.display(); ti.display(); 都會調用實現類的方法而不是抽象類或者接口的。  回復  更多評論   

    # re: 一個未曾想到的問題[未登錄] 2009-03-03 12:22 蝸牛

    盡管他們被接口類型或者抽象類型引用  回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-03 12:50 wanbing1986

    public class TestAbstrat extends Abstrat implements AbstratImp{
    @Override
    public void display() {
    System.out.println("bye");
    }
    }

    @Override 這個單詞是什么意思啊,我想應該是這個吧  回復  更多評論   

    # re: 一個未曾想到的問題[未登錄] 2009-03-03 15:28 ytl

    @Override
    表示重載父類的方法意思  回復  更多評論   

    # re: 一個未曾想到的問題[未登錄] 2009-03-03 15:50 飄然

    有沒有這樣想過呢?

    不是有沒有想過,而且,這個東東,是java語言或者說是oo的最最基本的東西,猶如吃飯呼吸般自然,還需要你這么慎重其事的"想過"?

    你不要告訴我你是新人剛接觸java或者oo,第一次明白重載?

    暈,這種帖子你也敢放首頁?過家家啊?  回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-03 15:51 zy.weiliang@gmail.com

    請注意一個問題,java在調用方法時,是以方法簽名+類層次關系去尋找的,在調用時沒有復寫和實現這個概念
    不要太被什么是重寫,什么是實現這些概念搞了,  回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-03 16:14 po

    動態綁定  回復  更多評論   

    # re: 一個未曾想到的問題[未登錄] 2009-03-05 00:32 Jonney

    接口只是一個標示,標明這個類已經實現了指定名字和參數的方法。  回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-11 00:49 戰神

    @飄然

    override叫重寫,或者叫覆蓋
    是針對父類與子類之間的多態性而言的

    overload才叫做重載
    是一個類本身多態性的體現

    飄然你自己都分不清override和重載,還來教訓別人,諷刺~
      回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-11 01:45 戰神

    這個問題可以這樣來看~

    首先,一個類肯定是先繼承某個類(Java中類的繼承呈樹狀結構,最頂層是Object),之后才會可有可無的遵循某些接口~

    回到問題中,TestAbstrat里面不要寫任何方法,然后他繼承Abstrat,他擁有一切Abstrat可繼承的東西--他繼承了Abstrat的display方法,完后,他發現他還需要實現AbstratImp的接口,而正好,他已經擁有了這個方法,因為他父類實現了,所以他也擁有了,好了,一切看似完美了,但TestAbstrat他發現挺不習慣父類的display,于是,他自己重寫了一個,覆蓋了父類的display方法

    聽懂了沒?沒懂?那好,我講通俗點:

    你是你老爸的兒子,你繼承了你老爸特能吃的優良胃口(繼承方法),你某天突然聽到有人在說"人是鐵飯是鋼一頓不吃餓得慌"的人生法則(實現接口),你心說好險...幸好我老爸把能吃繼承給我了~~好了,你長大了,翅膀硬了,特不習慣老爸用筷子東挑西拈那套--爺喜歡爽快,用手抓的(重寫方法)

    再回到問題,整個過程中,是TestAbstrat重寫了Abstrat的方法,而碰巧這個方法正好遵循了AbstratImp某個接口~

    你就算在TestAbstrat中不重寫display方法,你會發現程序也不會報錯
    而你在教科書上看到的是怎么說的:類必須實現implements 接口中的簽名方法
      回復  更多評論   

    # re: 一個未曾想到的問題 2009-03-29 02:17 t4

    注意一下:
    TestAbstrat.display()在實現AbstratImp中的display()方法的同時,也重寫了Abstrat中的方法。  回復  更多評論   

    <2009年3月>
    22232425262728
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    導航

    統計

    公告

    welcome to my place.

    常用鏈接

    留言簿(5)

    我參與的團隊

    隨筆分類

    隨筆檔案

    新聞分類

    石頭JAVA擺地攤兒

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    @duduli
    主站蜘蛛池模板: 亚洲欧美日韩中文二区| 成人无码精品1区2区3区免费看| 日本a级片免费看| 一本久久综合亚洲鲁鲁五月天| 中国黄色免费网站| 日本亚洲精品色婷婷在线影院| 免费一级黄色毛片| 亚洲第一第二第三第四第五第六| 51视频精品全部免费最新| 亚洲av色香蕉一区二区三区| 亚洲精品无码成人AAA片| 18禁无遮挡无码网站免费| 成人无码精品1区2区3区免费看| 久久精品国产亚洲AV忘忧草18| 国产精品亚洲视频| 国产黄在线播放免费观看| 国产亚洲精品AA片在线观看不加载 | 2022久久国产精品免费热麻豆| 国产精品亚洲专区无码WEB| 亚洲国产精品人久久| 免费国产成人α片| 亚洲成av人片在线观看无码不卡| 你懂得的在线观看免费视频| 亚洲成色WWW久久网站| 日本不卡免费新一二三区| 黄网站色视频免费在线观看的a站最新| 亚洲熟妇久久精品| 免费午夜爽爽爽WWW视频十八禁| 99re在线视频免费观看| 特色特黄a毛片高清免费观看| 久久久久亚洲AV成人网人人网站| 和日本免费不卡在线v| 亚洲AV永久无码精品一福利| 少妇中文字幕乱码亚洲影视| 国产偷国产偷亚洲高清日韩| 国产高清在线精品免费软件| 114一级毛片免费| 真人无码作爱免费视频| 精品亚洲综合久久中文字幕| 国产免费变态视频网址网站| 好大好硬好爽免费视频|