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

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

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

    一個(gè)未曾想到的問題

    給代碼吧。
    接口:
    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 }
    實(shí)現(xiàn)類:
    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 }
    結(jié)果很容易知道是都是bye bye。
    不過大家有沒有想過,在實(shí)現(xiàn)類中的display方法有沒有復(fù)寫抽象類中的display方法,還是只是實(shí)現(xiàn)了接口中的display方法呢?
    或是先復(fù)寫了抽象類中的display,然后又在實(shí)現(xiàn)接口中的display方法,進(jìn)而再復(fù)寫了抽象類中的display方法了。
    希望有高手能解答一下。

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

    評論

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

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

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

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

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

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

    應(yīng)該是覆蓋抽象類中的  回復(fù)  更多評論   

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

    其實(shí) ta.display(); ti.display(); 都會(huì)調(diào)用實(shí)現(xiàn)類的方法而不是抽象類或者接口的。  回復(fù)  更多評論   

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

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

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

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

    @Override 這個(gè)單詞是什么意思啊,我想應(yīng)該是這個(gè)吧  回復(fù)  更多評論   

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

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

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

    有沒有這樣想過呢?

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

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

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

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

    請注意一個(gè)問題,java在調(diào)用方法時(shí),是以方法簽名+類層次關(guān)系去尋找的,在調(diào)用時(shí)沒有復(fù)寫和實(shí)現(xiàn)這個(gè)概念
    不要太被什么是重寫,什么是實(shí)現(xiàn)這些概念搞了,  回復(fù)  更多評論   

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

    動(dòng)態(tài)綁定  回復(fù)  更多評論   

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

    接口只是一個(gè)標(biāo)示,標(biāo)明這個(gè)類已經(jīng)實(shí)現(xiàn)了指定名字和參數(shù)的方法。  回復(fù)  更多評論   

    # re: 一個(gè)未曾想到的問題 2009-03-11 00:49 戰(zhàn)神

    @飄然

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

    overload才叫做重載
    是一個(gè)類本身多態(tài)性的體現(xiàn)

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

    # re: 一個(gè)未曾想到的問題 2009-03-11 01:45 戰(zhàn)神

    這個(gè)問題可以這樣來看~

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

    回到問題中,TestAbstrat里面不要寫任何方法,然后他繼承Abstrat,他擁有一切Abstrat可繼承的東西--他繼承了Abstrat的display方法,完后,他發(fā)現(xiàn)他還需要實(shí)現(xiàn)AbstratImp的接口,而正好,他已經(jīng)擁有了這個(gè)方法,因?yàn)樗割悓?shí)現(xiàn)了,所以他也擁有了,好了,一切看似完美了,但TestAbstrat他發(fā)現(xiàn)挺不習(xí)慣父類的display,于是,他自己重寫了一個(gè),覆蓋了父類的display方法

    聽懂了沒?沒懂?那好,我講通俗點(diǎn):

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

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

    你就算在TestAbstrat中不重寫display方法,你會(huì)發(fā)現(xiàn)程序也不會(huì)報(bào)錯(cuò)
    而你在教科書上看到的是怎么說的:類必須實(shí)現(xiàn)implements 接口中的簽名方法
      回復(fù)  更多評論   

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

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

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

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    welcome to my place.

    常用鏈接

    留言簿(5)

    我參與的團(tuán)隊(duì)

    隨筆分類

    隨筆檔案

    新聞分類

    石頭JAVA擺地?cái)們?/h3>

    搜索

    •  

    積分與排名

    • 積分 - 257470
    • 排名 - 220

    最新評論

    閱讀排行榜

    評論排行榜

    @duduli
    主站蜘蛛池模板: 亚洲AV日韩综合一区尤物| 久久狠狠高潮亚洲精品| 野花视频在线官网免费1| 蜜桃视频在线观看免费网址入口| 亚洲日韩乱码中文无码蜜桃| 久久国产色AV免费观看| 亚洲综合一区二区精品久久| 1000部拍拍拍18勿入免费凤凰福利 | 亚洲AV无码成人专区片在线观看| 久久青草精品38国产免费| 久久久久无码精品亚洲日韩 | 最近最新MV在线观看免费高清| 亚洲国产精品美女| 最近免费中文字幕4| 337P日本欧洲亚洲大胆艺术图| 亚洲不卡无码av中文字幕| 免费激情网站国产高清第一页| 色久悠悠婷婷综合在线亚洲 | 成年人免费的视频| 亚洲人成自拍网站在线观看| 国产免费卡一卡三卡乱码| 亚洲精品国产日韩无码AV永久免费网| 国产亚洲精品影视在线产品| 人妻无码一区二区三区免费| 亚洲一区电影在线观看| 日本一道本高清免费| 国产精品九九久久免费视频 | 亚洲国产系列一区二区三区| 小小影视日本动漫观看免费| 中国一级全黄的免费观看| 亚洲理论片中文字幕电影| 在线视频免费国产成人| 国产午夜无码精品免费看| 久久精品国产亚洲αv忘忧草| 亚洲av无码专区在线观看素人| 日本亚洲欧洲免费天堂午夜看片女人员 | 亚洲区日韩精品中文字幕| 亚洲五月午夜免费在线视频| 在线免费中文字幕| 免费看一级一级人妻片 | 亚洲精品视频在线观看免费|