国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Java接口學習筆記

開發 后端
java語言不支持一個類有多個直接的父類(多繼承),但可以實現(implements)多個接口,間接的實現了多繼承

一、Java接口基礎知識

1, Java語言不支持一個類有多個直接的父類(多繼承),但可以實現(implements)多個接口,間接的實現了多繼承.

2, 與Java接口相關的設計模式:

1, 定制服務模式

設計精粒度的接口,每個Java接口代表相關的一組服務,通過繼承來創建復合接口

2, 適配器模式

當每個系統之間接口不匹配時,用適配器來轉換接口

3, 默認適配器模式

為接口提供簡單的默認實現

4, 代理模式

為Java接口的實現類創建代理類,使用者通過代理來獲得實現類的服務

5, 標識類型模式

用接口來標識一種沒有任何行為的抽象類型

6, 常量接口模式

在接口中定義靜態常量,在其它類中通過import static語句引入這些常量

Java接口的特征歸納:

1, Java接口中的成員變量默認都是public,static,final類型的(都可省略),必須被顯示初始化,即接口中的成員變量為常量(大寫,單詞之間用"_"分隔)

2, Java接口中的方法默認都是public,abstract類型的(都可省略),沒有方法體,不能被實例化 

  1. public interface A  
  2.    {  
  3.     int CONST = 1; //合法,CONST默認為public,static,final類型  
  4.     void method(); //合法,method()默認為public,abstract類型  
  5.     public abstract void method2(); //method2()顯示聲明為public,abstract類型  
  6.    } 

3, Java接口中只能包含public,static,final類型的成員變量和public,abstract類型的成員方法

  1. public interface A  
  2.   {  
  3.    int var; //錯,var是常量,必須顯示初始化   
  4.    void method(){...};   //錯,接口中只能包含抽象方法  
  5.    protected void method2(); //錯,接口中的方法必須是public類型  
  6.    static void method3(){...};   //錯,接口中不能包含靜態方法  
  7.   } 

4, 接口中沒有構造方法,不能被實例化

  1. public interface A  
  2.   {  
  3.    public A(){...}; //錯,接口中不能包含構造方法  
  4.    void method();  
  5.   } 

5, 一個接口不能實現(implements)另一個接口,但它可以繼承多個其它的接口
 

  1. public interface A  
  2.  {  
  3.   void methodA();  
  4.  }  
  5.  public interface B  
  6.  {  
  7.   void methodB();  
  8.  }  
  9.  public interface C extends A, B   //C稱為復合接口  
  10.  {  
  11.   void methodC();  
  12.  }  
  13.  public interface C implements A{...}   //錯 


6, Java接口必須通過類來實現它的抽象方法

public class A implements B{...}

7, 當類實現了某個Java接口時,它必須實現接口中的所有抽象方法,否則這個類必須聲明為抽象的

8, 不允許創建接口的實例(實例化),但允許定義接口類型的引用變量,該引用變量引用實現了這個接口的類的實例

  1. public class B implements A{}  
  2.    A a = new B(); //引用變量a被定義為A接口類型,引用了B實例  
  3.    A a = new A(); //錯誤,接口不允許實例化 

9, 一個類只能繼承一個直接的父類,但可以實現多個接口,間接的實現了多繼承.

public class A extends B implements C, D{...} //B為class,C,D為interface

4, 通過接口,可以方便地對已經存在的系統進行自下而上的抽象,對于任意兩個類,不管它們是否屬于同一個父類,只有它們存在相同的功能,就能從中抽象出一個接口類型.對于已經存在的繼承樹,可以方便的從類中抽象出新的接口,但從類中抽象出新的抽象類卻不那么容易,因此接口更有利于軟件系統的維護與重構.對于兩個系統,通過接口交互比通過抽象類交互能獲得更好的松耦合.

5, 接口是構建松耦合軟件系統的重要法寶,由于接口用于描述系統對外提供的所有服務,因此接口中的成員變量和方法都必須是public類型的,確保外部使用者能訪問它們,接口僅僅描述系統能做什么,但不指明如何去做,所有接口中的方法都是抽象方法,接口不涉及和任何具體實例相關的細節,因此接口沒有構造方法,不能被實例化,沒有實例變量.

二, 比較抽象類與接口

1, 抽象類與接口都位于繼承樹的上層

相同點

1, 代表系統的抽象層,當一個系統使用一顆繼承樹上的類時,應該盡量把引用變量聲明為繼承樹的上層抽象類型,這樣可以提高兩個系統之間的送耦合

2, 都不能被實例化

3, 都包含抽象方法,這些抽象方法用于描述系統能提供哪些服務,但不提供具體的實現

不同點:

1, 在抽象類中可以為部分方法提供默認的實現,從而避免在子類中重復實現它們,這是抽象類的優勢,但這一優勢限制了多繼承,而接口中只能包含抽象方法.由于在抽象類中允許加入具體方法,因此擴展抽象類的功能,即向抽象類中添加具體方法,不會對它的子類造成影響,而對于接口,一旦接口被公布,就必須非常穩定,因為隨意在接口中添加抽象方法,會影響到所有的實現類,這些實現類要么實現新增的抽象方法,要么聲明為抽象類

2, 一個類只能繼承一個直接的父類,這個父類可能是抽象類,但一個類可以實現多個接口,這是接口的優勢,但這一優勢是以不允許為任何方法提供實現作為代價的三, 為什么Java語言不允許多重繼承呢?當子類覆蓋父類的實例方法或隱藏父類的成員變量及靜態方法時,Java虛擬機采用不同的綁定規則,假如還允許一個類有多個直接的父類,那么會使綁定規則更加復雜,

因此,為了簡化系統結構設計和動態綁定機制,Java語言禁止多重繼承.而接口中只有抽象方法,沒有實例變量和靜態方法,只有接口的實現類才會實現接口的抽象方法(接口中的抽象方法是通過類來實現的),因此,一個類即使有多個接口,也不會增加Java虛擬機進行動態綁定的復雜度.因為Java虛擬機永遠不會把方法與接口綁定,而只會把方法與它的實現類綁定.四, 使用接口和抽象類的總體原則:

1, 用接口作為系統與外界交互的窗口站在外界使用者(另一個系統)的角度,接口向使用者承諾系統能提供哪些服務,站在系統本身的角度,接口制定系統必須實現哪些服務,接口是系統中最高層次的抽象類型.通過接口交互可以提高兩個系統之間的送耦合系統A通過系統B進行交互,是指系統A訪問系統B時,把引用變量聲明為系統B中的接口類型,該引用變量引用系統B中接口的實現類的實例。

  1. public interface B  
  2.  {  
  3.  }  
  4.  public class C implements B  
  5.  {  
  6.  }  
  7.  public class A  
  8.  {  
  9.  }  
  10.  B a = new C(); 


2, Java接口本身必須非常穩定,Java接口一旦制定,就不允許隨遇更加,否則對外面使用者及系統本身造成影響

3, 用抽象類來定制系統中的擴展點

抽象類來完成部分實現,還要一些功能通過它的子類來實現 

【編輯推薦】

  1. Java連接MySQL中文亂碼處理
  2. 在Java應用程序中使用Jfreechart配置
  3. Java虛擬機內部構成淺析
  4. 淺談Java線程的生命周期
  5. 關于Java繼承的一些復習
責任編輯:張燕妮 來源: 百度空間
相關推薦

2011-07-08 18:28:43

iOS 接口

2009-06-29 09:00:14

JSFJava

2009-06-17 14:21:39

core java

2009-06-29 16:50:27

Java集合框架

2011-03-16 10:13:31

java單例模式

2011-03-17 16:43:49

2009-07-14 16:08:41

WebWork學習

2009-07-09 16:24:48

JDK學習筆記Java語言基礎

2009-06-17 17:09:02

Java異常Java斷言

2009-06-15 17:54:50

Java核心技術

2010-03-17 15:45:06

Java多線程求和

2011-08-10 14:00:22

XcodeUIWebView視頻

2009-06-19 18:38:01

Spring

2011-06-03 13:11:19

Android Activity

2009-06-22 10:41:34

Spring.AOP

2009-04-12 08:57:50

Symbian諾基亞移動OS

2009-09-08 16:36:15

CCNA學習筆記

2009-04-12 09:03:50

Symbian諾基亞移動OS

2011-03-15 16:19:08

iptables

2009-09-08 18:14:12

CCNA學習筆記
點贊
收藏

51CTO技術棧公眾號

欧美巨乳美女视频| 99高清视频有精品视频| 日韩在线免费看| 91美女片黄在线观看91美女| 国产成人精品一区二区三区福利 | 亚洲蜜臀av乱码久久精品蜜桃| 成人午夜免费在线视频| 亚洲免费网站| 国产一区二区在线观看免费播放| 欧美在线视频免费观看| 中文字幕在线视频网站| 欧美一级夜夜爽| 欧美lavv| 欧美中文字幕| 91精品国产高清久久久久久| 久久久久久www| 精品在线一区二区| 神马影院我不卡午夜| 激情亚洲网站| 国产伦精品一区二区三区照片 | 亚洲免费一区三区| 欧美成人免费在线视频| 91精品网站在线观看| 色爱精品视频一区| 96视频在线观看欧美| 九九精品在线观看| 国产精品sss在线观看av| 97av在线影院| 日韩www.| 狠狠色狠狠色综合人人| 久久亚洲电影| 免费观看亚洲视频| 久久精品视频在线免费观看| 手机在线免费观看毛片| 亚洲免费在线视频一区 二区| 探花国产精品| 欧美三区在线观看| 国精产品一区一区三区mba下载| 亚洲精品国产精品乱码不99按摩 | 国产人妖ts一区二区| 日本老师69xxx| 66视频精品| 国产精品日韩一区二区三区| 日日摸夜夜添夜夜添国产精品 | 一级在线免费视频| 一区二区三区四区不卡视频| 四虎在线免费看| 91精品国产色综合久久| 欧美伦理91| 久久久久久久爱| 图片小说视频色综合| 欧洲精品久久| 91在线精品一区二区| 美女av网站| 欧美肥妇毛茸茸| 曰本一区二区| 亚洲999一在线观看www| 精品一区二区三区日韩| 成人黄色激情网站| 欧美精品亚洲一区二区在线播放| 福利一区和二区| 国产精品人成电影| 久久99精品国产.久久久久久| 麻豆一区二区三区视频| 欧美电影影音先锋| 亚洲图片小说区| 亚洲一区免费网站| 激情伊人五月天久久综合| 亚洲国产第一| 日本视频一区二区在线观看| 91精品一区二区三区综合| 日韩一级二级三级精品视频| www.九色.com| 日韩成人午夜精品| 91久久久精品| 永久亚洲成a人片777777| 无码无遮挡又大又爽又黄的视频| 视频一区视频二区中文| 国产日韩成人内射视频 | 亚洲天堂网中文字| jizz在线免费观看| 久久成人这里只有精品| 亚洲高清久久| 中文字幕天天干| 日韩激情第一页| 欧美喷水视频| 无码内射中文字幕岛国片| 亚洲第一页自拍| 午夜性色一区二区三区免费视频 | 久久伊99综合婷婷久久伊| 婷婷免费在线视频| 国产精品第一页在线| 99re6这里只有精品视频在线观看| 影音先锋在线播放| 99porn视频在线| 亚洲一区二区四区蜜桃| 欧美影院视频| www.av片| 亚洲精品99久久久久中文字幕| 亚洲色图网站| 在线黄色国产电影| 欧美日韩福利在线观看| 国产大陆a不卡| 欧美精品videosex| 高清日韩一区| 偷拍日韩校园综合在线| 欧美精品中文| 激情五月亚洲色图| 亚洲性视频网址| 日韩av中文字幕一区二区三区| 色黄视频在线| 国产精品国产三级国产专播精品人| 久久众筹精品私拍模特| 精品欧美一区二区三区在线观看 | 日韩精品在线视频美女| 亚洲在线播放| 成年人视频网站在线| 国产精品成人播放| 综合av第一页| 韩国精品福利一区二区三区| 国产精品亚洲a| 久久精品这里热有精品| 91最新地址在线播放| 国产原创一区| 日韩精品―中文字幕| 日韩视频免费在线观看| 成人久久视频在线观看| 四虎永久精品在线| 九九九九免费视频| 欧美精品在线免费| 国产精品欧美久久久久无广告| 国产精品巨作av| 狠狠色一日本高清视频| 国产欧美va欧美va香蕉在| 精品久久久国产| 欧美视频福利| av大片在线| 一区视频二区视频| 欧美日韩一区二区三区视频播放| 男人操女人免费软件| 久久精品国产欧美激情| 国产偷国产偷精品高清尤物| 欧美变态网站| 四虎在线免费观看| 国产亚洲精品自在久久| 精品国产精品网麻豆系列| 国产精品中文字幕日韩精品| 精品亚洲美女网站| 亚洲性生活网站| 国产91精品最新在线播放| 精品国产成人在线| 国产视频久久| 成人免费看黄| 亚洲一区在线不卡| 亚洲一区二区三区在线免费观看| 欧美军同video69gay| 国产又黄又大久久| 一本色道69色精品综合久久| 啊灬啊灬啊灬啊灬高潮在线看| 国产伦精品一区二区三毛| 亚洲黄色av网站| 欧美激情一区二区三区不卡| 亚洲精品二区三区| 春色校园综合激情亚洲| 欧美精品aaaa| 99精品99久久久久久宅男| www99xav| 国产成人午夜99999| 性欧美1819sex性高清| 国产中文字幕视频在线观看| 日韩美女视频免费在线观看| 一本大道av一区二区在线播放| 久久久久久久尹人综合网亚洲| 中文在线а√天堂| 黄网站免费入口| 精品一区二区三区国产| 亚洲欧洲偷拍精品| 欧美激情综合五月色丁香| 91精品国产乱码久久久久久久 | 免费在线国产精品| 久久天堂电影网| 日韩欧美一区二区三区| 福利一区二区在线| 99久久.com| 欧美日韩视频免费观看| 性xxxx丰满孕妇xxxx另类| 特级西西444| 国产在线观看一区二区三区| 精品国产欧美一区二区| 亚洲三级在线观看| 精品一区二区在线免费观看| 欧美综合一区| 亚洲国产一区二区久久| eeuss影院在线播放| 欧美成人三级在线播放| 日本一区网站| 国产精品九九九| 中文字幕日韩精品在线观看| 岛国av一区二区| 国产精品全国免费观看高清 |