<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 小尋 閱讀(183) 評論(0)  編輯  收藏 所屬分類: j2se/j2ee/j2me
    主站蜘蛛池模板: 91香蕉国产线观看免费全集| 最新亚洲人成无码网站| 国产性生大片免费观看性| 免费在线观看黄色毛片| 特级毛片全部免费播放a一级| 成人人观看的免费毛片| 亚洲精品V天堂中文字幕| 日日操夜夜操免费视频 | 久久综合亚洲色一区二区三区| 亚洲线精品一区二区三区| 中文字幕不卡高清免费| 亚洲人成人网站色www| 久久精品电影免费动漫| 777亚洲精品乱码久久久久久| 日本免费xxxx| 亚洲熟妇无码一区二区三区 | 久久精品蜜芽亚洲国产AV| 亚洲免费在线视频播放| 亚洲精品国产精品国自产网站 | 国产成人高清精品免费软件| 日韩色日韩视频亚洲网站 | 久操免费在线观看| 亚洲第一二三四区| 免费黄色app网站| 日日狠狠久久偷偷色综合免费| 亚洲日韩小电影在线观看| 中国videos性高清免费| 久久青青草原亚洲av无码app | 亚洲av片不卡无码久久| 女人18特级一级毛片免费视频| 污污视频网站免费观看| 国产V亚洲V天堂无码| 国产桃色在线成免费视频| 亚洲av无码无线在线观看| 国产精品亚洲mnbav网站| 99re6在线视频精品免费下载 | 一区二区三区免费电影| 911精品国产亚洲日本美国韩国| 亚洲人成网站免费播放| 一二三区免费视频| 亚洲春色另类小说|