亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java學習筆記之接口

2019-11-14 20:57:26
字體:
來源:轉載
供稿:網友
java學習筆記之接口

一、接口的概念與定義

首先考慮一個簡單的接口的定義:

public interface Output{    int MAX_LINE = 40;    void out();    void getData(String msg);}
  • 定義接口使用關鍵字interface
  • 修飾符interface前面的public可以省略,如果省略,則采用默認訪問控制,即只有在相同包結構的代碼才可以訪問此接口
  • 接口不可以有構造方法(區別于類中的構造方法)
  • 接口里面的所有成員,包括常量、方法等都是public訪問權限,所以在定義接口里面的成員時,可以省略訪問控制修飾符,非要修飾一下子,也只能用public
  • 接口里面的屬性(即成員變量)只能是常量,而且全部具有public, static, final三種性質,因此,在接口里面,如下兩行語句完全等價:
int MAX_LINE = 40;public static final int MAX_LINE = 40;

  • 接口里面的方法只能是抽象方法,即只聲明一下函數類型,名稱和參數列表,但是不可以提供具體實現

二、接口的繼承

考慮如下代碼:

 1 interface A 2 { 3     int PROP_A = 5; 4     void testA(); 5 } 6 interface B 7 { 8     int PROP_B = 6; 9     void testB();10 }11 interface C extends A, B12 {13     int PROP_C = 7;14     void testC();15 }16 17 public class myJavaTest18 {19     public static void main(String[] args)20     {21         System.out.println(C.PROP_A);22         System.out.println(C.PROP_B);23         System.out.println(C.PROP_C);24         25     }26 }

輸出:

5

6

7

  • 接口的繼承和類的繼承不一樣,接口支持多繼承,多個父接口排在extends關鍵字之后,多個父接口之間用逗號隔開,如上面11行所示,子接口C繼承了父接口A和B
  • 子接口繼承類父接口之后,可以獲得它們的成員常量的訪問權限。如21 -23行通過子接口C可以訪問父接口A,B的成員常量PROP_A和PROP_B

三、接口的實現和定義

考慮如下程序:

 1 interface Output 2 { 3     int MAX_LINE = 4; 4     void out(); 5     void getData(String msg); 6 } 7  8 interface Product 9 {10     int getProductTime();11 }12 13 //實現簡單的打印作業14 public class Printer implements Output, Product15 {16     private String[] printData = new String[MAX_LINE];17     private int dataNum = 0; // 記錄需要打印的作業數18     19     public void out()20     {21         while (dataNum > 0)22         {23             System.out.println("打印機打印" + printData[0]);24             25             //把作業隊列整體前移一位,并將剩下的作業數減126             System.arraycopy(printData, 1, printData, 0, --dataNum);27         }28         29     }30 31     @Override32     public int getProductTime() {33         // TODO Auto-generated method stub34         return 45;35     }36 37     @Override38     public void getData(String msg) 39     {40         if (dataNum >= MAX_LINE)41         {42             System.out.println("輸出隊列已滿,添加失敗");43         }44         else45         {46             //把打印數據添加到隊列里,作業數加147             printData[dataNum++] = msg;48         }    49     }50     public static void main(String[] args)51     {52         //創建一個Printer對象,當成Output使用53         Output O = new Printer();54         O.getData("123");55         O.getData("456");56         O.getData("789");57         O.getData("ABC");58         O.getData("def");59         O.out();60         //創建一個Printer對象,當成Product使用61         Product P = new Printer();62         System.out.println(P.getProductTime());63     }64 }

輸出:

輸出隊列已滿,添加失敗打印機打印123打印機打印456打印機打印789打印機打印ABC45

  • 接口不能用于實例化,但是接口可以聲明引用類型的變量,如53行,接口Output聲明了一個引用變量O的類型是Output,61行,接口Product聲明了一個引用變量P的類型是Product.
  • 接口的實現需要用類,通常形式如下:
    [修飾符] class 類名 extends 父類 implements 接口1, 接口2..{    類體部分  }

    implements是表明這個類實現接口的關鍵字,一個類可以實現多個接口,多個接口之間用逗號隔開,如上述程序14行所示

  • 一個類可以繼承一個父類,并同時實現多個接口,此時,implements部分必須放在extends部分之后
  • 一個類聲明實現一個或者多個接口之后,則這個類必須完全實現這些接口里所定義的全部抽象方法(抽象方法就是那些只聲明而沒有實現的方法);否則該類將保留從父接口那里繼承的抽象方法,于是該類也必須定義成抽象類。

上述程序用類Printer實現了Output接口和Product接口,于是,Printer對象既可以賦給Output變量(53行)也可以賦給Product變量(61行),好像Printer類既是Output類的子類,也是Product類的子類,這就是傳說中的Java的模擬多繼承。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
少妇激情综合网| 亚洲一二在线观看| 高跟丝袜欧美一区| 中文字幕少妇一区二区三区| 热99久久精品| 亚洲欧美日韩一区二区在线| 韩国精品美女www爽爽爽视频| 日韩av在线天堂网| 美女久久久久久久久久久| 色妞一区二区三区| 在线精品播放av| 亚洲精品电影网站| 夜夜嗨av一区二区三区四区| 日韩av在线网页| 粗暴蹂躏中文一区二区三区| 中文字幕免费精品一区| 97成人精品区在线播放| 久久久久久国产精品三级玉女聊斋| 日韩在线观看成人| 国产精品久久久久久久久影视| 国产精品免费福利| 中文综合在线观看| 亚洲老头同性xxxxx| 日韩精品福利网站| 91最新国产视频| 2019亚洲男人天堂| 中文字幕自拍vr一区二区三区| 精品欧美国产一区二区三区| 日韩在线观看你懂的| 中文字幕日韩精品在线观看| 91美女高潮出水| 一本一道久久a久久精品逆3p| 亚洲无亚洲人成网站77777| 最近中文字幕日韩精品| 日韩亚洲精品视频| 成人妇女淫片aaaa视频| 久久精品国产电影| 久久精品国产96久久久香蕉| 久久国产加勒比精品无码| 欧美一乱一性一交一视频| 91国偷自产一区二区三区的观看方式| 成人免费观看网址| 91亚洲永久免费精品| 91免费欧美精品| 97香蕉超级碰碰久久免费的优势| 国产精品v日韩精品| 欧美一级bbbbb性bbbb喷潮片| 91精品国产高清久久久久久91| 亚洲国产中文字幕久久网| 亚洲福利视频免费观看| 亚洲国产欧美一区| 久久天天躁狠狠躁夜夜躁2014| 成人久久久久久| 国产91色在线免费| 97超碰国产精品女人人人爽| 亚洲精品久久久久中文字幕欢迎你| 欧美亚州一区二区三区| 日韩av在线免费看| 国产99久久精品一区二区永久免费| 欧美性开放视频| 色系列之999| 国产午夜精品视频| 91香蕉嫩草神马影院在线观看| 性欧美在线看片a免费观看| 国产成人精品视| 中文字幕亚洲欧美日韩2019| 国产精品午夜国产小视频| 亚洲最大在线视频| 91av在线视频观看| 国产日韩欧美黄色| 日韩在线视频网| 久久中文久久字幕| 蜜臀久久99精品久久久久久宅男| 日韩精品免费在线视频| 亚洲精品视频网上网址在线观看| 色悠久久久久综合先锋影音下载| 欧美—级a级欧美特级ar全黄| 亚洲成人久久久久| 精品久久久免费| 日本亚洲欧美成人| 91网在线免费观看| 欧美在线一区二区视频| 在线亚洲欧美视频| 亚洲情综合五月天| 78m国产成人精品视频| 亚洲色图18p| 在线免费观看羞羞视频一区二区| 92版电视剧仙鹤神针在线观看| 91国在线精品国内播放| 久久97精品久久久久久久不卡| 国产极品jizzhd欧美| 2019中文字幕免费视频| 久久视频精品在线| 国产精品自在线| 久久精品视频在线播放| 久久全国免费视频| 欧美精品国产精品日韩精品| 成人欧美一区二区三区黑人| 日韩免费在线观看视频| 91sao在线观看国产| 欧美激情欧美激情在线五月| 日本精品免费一区二区三区| 91高清在线免费观看| 狠狠久久五月精品中文字幕| 亚洲天堂2020| 国产免费观看久久黄| 自拍视频国产精品| 欧美亚洲国产日韩2020| 欧美一区二区三区免费视| 欧美人在线观看| 亚洲一区二区黄| 欧美精品精品精品精品免费| 久久中文精品视频| 国产精品看片资源| 亚洲国产成人久久| 91精品国产自产在线观看永久| 亚洲精品一区在线观看香蕉| 欧洲美女7788成人免费视频| 欧美裸体xxxx极品少妇软件| 亚洲a成v人在线观看| 精品国产拍在线观看| 疯狂做受xxxx高潮欧美日本| 亚洲国产毛片完整版| 色综合久久88色综合天天看泰| 色婷婷**av毛片一区| 日韩av片免费在线观看| 亚洲女人初尝黑人巨大| 国产伦精品免费视频| 久久91精品国产91久久跳| 国产亚洲欧美一区| 国产精品一区二区性色av| 国产亚洲视频中文字幕视频| 中文字幕日韩精品在线| 91免费看片在线| 亚洲大胆人体av| 在线视频国产日韩| 亚洲毛片在线观看| 久久精品视频中文字幕| 91沈先生作品| 日韩av大片免费看| 欧美劲爆第一页| 欧美视频裸体精品| 亚洲精品动漫久久久久| 亚洲a成v人在线观看| 久久影院资源站| 亚洲欧美国产制服动漫| 亚洲天堂av图片| 日韩二区三区在线| 中文字幕免费精品一区| 欧美成人免费小视频| 亚洲欧洲成视频免费观看| 91av在线视频观看| 久久福利视频导航| 日韩美女在线观看一区| 欧美成aaa人片在线观看蜜臀| 这里只有精品丝袜| 精品国产福利视频| 国产亚洲欧美日韩精品| 国产一区二区三区精品久久久| 日韩视频免费大全中文字幕| 插插插亚洲综合网| 日韩免费观看在线观看| 岛国精品视频在线播放| 国产福利精品在线|