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

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

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

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年2月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728123
    45678910

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    本文以一條龍的形式一次性解決問題。

    類是廣泛的概念,表示一個有共同性質的群體。如:人類。

    代碼:
    ?????? //?聲明一個類“Human”
    ??????????? class?Human{
    ????????????private?String?name;
    ??????????? public?String?getName(){
    ?????????????????????????????? return?name;
    ????????????????????????????????????????????? }
    ???????????public?void?setName(String?value){
    ??????????????????????????????????????? ?this.name?=?value;
    ????????????????????????????????????????????????? }
    ????????????????????????????????? //......
    ?????????????????????????????? }


    對象指的是具體的一個實實在在的東西。如、張三、李四。

    代碼:
    ????????????????????????? Human?zhangsan?=?new?Human();

    圖:
    ???? 人.png

    圖中我們怎么創建張三和李四呢??我們前面的代碼好像還沒涉及,恩好,看下面

    Human?human?=?new?Human();

    程序執行到這里之后,java虛擬機將會在內存中創建一個?Human?對象,并將這個對象的引用賦給?human?變量。

    接著:human.setName("張三"); human.setName("李四");好了對象(實例)創建好了,呵呵!

    圖:
    ????? 人1.png

    “人”是一個基類,則“男人”是“人”的一個子類。如果“張三”是一個“男人”,也就是說“張三”是“男人”的一個對象,那么顯然“張三”也是“人”這個基類的一個對象。
    ???class nanren?extends? human(String args[ ]){
    ???????????//.............
    ??????? }


    方法是類的行為,如人會笑、會坐、會走路 一樣。

    圖:
    ????? 人2.png
    ????????
    ?
    代碼:
    ?????????? zhangsan.go();zhangsan.xiao();zhangsan.shuijiao();zhangsan.qita();

    接口只定義了一些方法,而沒有實現這些方法,它規定了實現接口的類必須具備的方法(能力),它只是一個規定

    我們規定:只要是人就可以走路、笑、睡覺、做其他的事,于是我們用代碼實現這個規定
    public?interface?you_are_human{
    public?void?go();
    public?void?xiao();
    public void shuijiao();
    public void qita();
    }

    這時,張三想做人,但他只想擁有走路和笑的能力。首先,他必須聲明自己是人,也就是前面對人的規定,
    然后想做什么由他自己決定:

    public?class?zhangsan extends?Human?implements?you_are_human{
    public?void?go(){
    //?......
    }
    public?void?xiao(){
    //?......
    }
    }

    使用的時候:
    you_are_human??zhangsan?=?new?you_are_human();

    zhangsan.go();

    zhangsan.xiao();


    那有的人就會問,這和前面我定義類有什么區別;

    這是因為:java的類的繼承是從上到下的,爺爺1 》老爸1 》兒子1

    ????????????????????????????????????????????????????????????????????? 爺爺2?? 》老爸2? 》?兒子2
    ?????而不能是:爺爺2? 》?兒子1

    這樣就亂套了?,是不,鬧笑話;所以,類規定了不繼承關系,防止亂套,使結構變得清晰。

    所以,當我們使用樹型結構時,使用類。


    由于,在生活中還有許多這樣的情況,如,張三是中國人,那張三他也是美國人雙重身份。
    ???????????????????
    ?????????????????????????????????????????????????????????????????? 再如,李四是java工程師,也是廚師。
    那怎么辦??

    我們可以這么做:
    規定多個身份
    public?interface zhengjian{
    interface China(){
    public?void?China_L(){
    //.................
    ???????????????????????? ??? }
    ???????????????????????????}
    interface? USA(){
    public? void?USA_L(){
    //...........
    ?????????? }

    }

    public?class?zhangsan extends?zhengjian?implements?Chna , USA{
    public?void?China_L(){
    //?......
    }
    public?void?USA_L(){
    //?......
    }
    }


    當張三去美國時,老美叫他拿個綠證來看:

    zhangsan.USA_L();

    呵呵,再舉個例子大家就清楚了:

    HP有“三星”和“IBM”兩種,我通常而言不可能一個HP是既是“三星”又是“IBM”的吧~~~~~~~~類
    ????????? “家庭式”和“辦公式”兩種,但往往我們能買到擁有兩種款式相結合廠品是吧??? ~~~~~~~~~~~接口

    中國人說起來,類有點“封建世襲制”,接口有點“違反常理亂倫”,呵呵開個玩笑

    這樣說完大家再去看些相關文章就會覺得很容易了 呵呵

    剩下抽象類就簡單了,那是抽象類(abstract他還是類(class),只不過是抽象的罷了。

    抽象類對某具體類型的部分實現------抽象類是對具體的抽象方法特征包括:方法的名字、參數的數目、參數的類型。

    不包括:返回類型、參數名字、和拋出的異常。

    java接口(抽象類)用來聲明一個新的類型,Java設計師應當主要使用接口和抽象類將軟件單位與內部和外部耦合(軟件工程中內容)起來。

    在理想的情況下,一個具體類應當只實現接口和抽象類中聲明的方法,而不應當給出多余的方法!

    抽象類僅提供一個類的部分實現。抽象類可以有實例變量、以及一個或多個構造函數。

    人這個概念夠抽象了吧!
    public? abstract ? class?? Human{...}??

    男人也是
    ?
    public?? abstract ? class??man{...}???


    有一點必須講清:接口不能繼承抽象類,接口只能繼承實實在在的類,

    如,我可以為某個HP廠品(類)規定一種規范(接口),但由于各個廠家推陳出新,所以,我很難對某一類型廠品規定,“家庭型hp”就很難下個結論(接口)。


    從軟件優化角度來考慮類和接口問題。類class條理清楚內聚性好,用于軟件模塊內部實現(汽車的內部機

    械);接口interface很靈活耦合性好,用于模塊外部實現(如,汽車操作板的按鈕)。從而實現強內聚、松耦合

    的軟件設計思想。



    講完了!呵呵,現在出看其他解釋應該容易接受一點了。下一篇文章是對一個網友提出一個建議的解說,

    和這一篇有點關系,希望大家看看。






    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-02-27 07:10 小尋 閱讀(405) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
    主站蜘蛛池模板: 深夜a级毛片免费视频| 国产一级片免费看| 中文字幕亚洲激情| 99视频免费播放| 亚洲码欧美码一区二区三区| 免费在线观看毛片| 一级毛片在线免费观看| 亚洲无码一区二区三区| 国产亚洲一区二区三区在线不卡| 亚洲精品视频在线观看免费| 无码一区二区三区亚洲人妻| 亚洲av无码不卡| 日韩视频在线免费观看| 日本黄色动图免费在线观看| 国产成人人综合亚洲欧美丁香花| 亚洲精品乱码久久久久久久久久久久| 免费看韩国黄a片在线观看| 国产免费人成视频在线播放播| 亚洲国产精品成人综合色在线婷婷| 免费jjzz在在线播放国产| 久久久久久毛片免费播放| 牛牛在线精品免费视频观看| 亚洲美女视频一区二区三区| 亚洲日本一区二区一本一道| 女人被男人桶得好爽免费视频 | 亚洲中文字幕久久精品无码2021| 亚洲第一成人影院| 欧美日韩国产免费一区二区三区| 国产在线观a免费观看| 亚洲av成人一区二区三区观看在线| 亚洲综合激情六月婷婷在线观看| 亚洲免费在线观看| 好男人视频社区精品免费| 免费A级毛片av无码| 精品国产免费人成网站| 一区二区在线免费视频| 亚洲最大在线视频| 亚洲成a人片在线观看无码专区| 免费乱码中文字幕网站| 男女啪啪永久免费观看网站| 免费v片在线观看视频网站|