<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

    朋友的網站

    搜索

    •  

    最新評論

    這是網友給的兩個代碼,如果您對類,接口還不甚明白建議看前面一篇文章;

    本人先指出:書寫Java時可以用extends,implements從interface 和class產生出新類

    問題: +++++++++++++++++++++++++++++++++++++++++++++

    這里的ActionListener為指定父類;

    class ActionListener1 implements ActionListener{}? //創建一個繼承類ActionListener的類ActionListener1


    interface ActionListener1 extends ActionListener{} //創建一個來自類ActionListener的接口ActionListener1

    如果我不創建實例,只想方法重載,是不是都可以用

    ++++++++++++++++++++++++++++++++++++++++++++++++

    很明顯按前面講的extends,implements從interface 和class產生出新類,這兩個辦法都可以

    但這樣講這篇文章實在是太簡單了,雖然有時候,簡單,不錯

    但在這里我看到另一個問題,就是這里的extends,implements
    有何不同

    前面已經把interface 和class
    給大家解釋一番,接下來我們來搞定extends,implements,呵呵

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


    extends,implements分析




    一般說法是:
    類繼承( extends )/ 接口實現( implements)

    一個類繼承了上一個類?? /? 一個接口寬展了N個類的M個接口(類:大寫字母;接口:小寫字母)

    class A?implements B{} / interface a extends A ,B,C... implements b ,c ,d ....{}

    但有個問題要指明:接口 a 將只能被寬展 不能繼續 在 a下創建類,并且很明顯要調用 a 中的方法,將會有一定的局限性,

    因為他沒有被實例化(有點像臨時演員,演完這個節目之后,下個節目要找他來演就很難了),在JAVA中有個專業名詞專門

    形容他---“輕量級”組件。很明顯,演戲(程序),導演(編程人員)不能什么角色都臨時演員,因為要出續集;但有時很

    需要,因為這樣省錢(系統資源)、靈活。

    所以,這些情況要看情況,這就是:好導演,花少錢,排好戲。



    前面,我說了要對extend和implements來個解剖,好了現在問題初步弄清楚就是:重量級(class)和輕量級(interface)

    問題。我們先講到這里,我要了;下面給大家一個關于輕量級組件swing的說明,希望大家看看:

    http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/javax/swing/tree/class-use/DefaultMutableTreeNode.html


    然后來個例子:

    JAVA如何利用接口制造類似于C++的多繼承

    作者: daywolf 的 Blog 出處:http://www.csdn.net/

    多繼承其實是不好的東西,但是你有時候卻要用到它,那怎么辦呢?可以利用接口,下面是一個簡單的例子。

    interface CanFly
    {
    ?void fly();
    }

    interface CanSwim
    {
    ?void swim();
    }

    interface CanFight
    {
    ?void fight();
    }

    class ActionCharter
    {
    ?public void fight()
    ?{
    ?System.out.println("I can fight");
    ?}
    }

    class Hero extends ActionCharter implements CanFly,CanSwim,CanFight
    {
    ?public void swim(){
    ?System.out.println("I can swim");
    ?}
    ?
    ?public void fly(){
    ?System.out.println("I can fly");
    ?}?
    }

    public class HelloWorld
    {
    ?public static void u(CanFly i){i.fly();}
    ?public static void v(CanSwim i){i.swim();}
    ?public static void w(CanFight i){i.fight();}
    ?public static void x(ActionCharter i){i.fight();}
    ?
    ?public static void main(String []args)
    ?{
    ?Hero hero = new Hero();
    ?u(hero);
    ?v(hero);
    ?w(hero);
    ?x(hero);
    ?}
    ?
    }

    講解一下,這個例子里面在Hero繼承了一個類ActionCharter來實現接口CanFight的功能,另外兩個接口用方法實現,而在運行的時候采用動態綁定,來進行多態的實現,這個例子很簡單,但是用在實際上卻很有用



    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-02-27 08:55 小尋 閱讀(177) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
    主站蜘蛛池模板: 亚洲sm另类一区二区三区| 亚洲成av人片在线看片| 人妻无码中文字幕免费视频蜜桃| 免费99精品国产自在现线| 日木av无码专区亚洲av毛片| 在线看片免费人成视频播| 亚洲精品亚洲人成在线观看| 免费看无码特级毛片| 久久91亚洲人成电影网站| 成人免费区一区二区三区| 亚洲精品无码久久久影院相关影片| 久久久精品国产亚洲成人满18免费网站| 亚洲第一页综合图片自拍| 9久热精品免费观看视频| 国产成人无码综合亚洲日韩| 无码精品国产一区二区三区免费| 亚洲精品免费视频| 毛片免费在线播放| 特级无码毛片免费视频| 亚洲成在人线av| 国产人成免费视频网站| 亚洲色欲色欲www在线播放 | 四虎永久在线精品免费观看视频| 亚洲国产成人精品久久| 成人毛片免费在线观看| 又粗又长又爽又长黄免费视频| 亚洲一区二区三区影院 | 88xx成人永久免费观看| 国产亚洲玖玖玖在线观看| 国产jizzjizz免费看jizz| 怡红院亚洲红怡院在线观看| 四虎影库久免费视频| 最近国语视频在线观看免费播放| 亚洲精品综合久久中文字幕| 手机在线免费视频| 好吊色永久免费视频大全| 亚洲伊人久久大香线蕉| 亚洲国产成人久久综合野外| 永久看日本大片免费35分钟| 婷婷国产偷v国产偷v亚洲| 久久精品亚洲一区二区三区浴池|