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

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

創建接口

2019-11-18 12:10:47
字體:
來源:轉載
供稿:網友

  java語言支持使用定義在類層次中任何地方的任何類中行為的
  協議的接口。
  
  什么是接口?
  
  在Java中,接口是不相關的對象相互交互的設備。Java接口與
  協議很相似。實際上,其它面向對象語言也有Java的接口的
  功能,但是它們稱為協議。
  
  Java接口定義了一套方法,但沒有實現它們。一個實現接口的
  類可以實現定義在這個接口中的所有方法,因此可以實現一定
  的行為。
  
  定義:接口是方法定義(而不實現)的被命名的集合。接口也
  可以包括常量定義。
  
  最好通過例子來理解接口,所以讓我們看看一個接口和兩個類
  交互的例子。然后我們在抽象概念上討論接口。
  
  例子:AlarmClock和Sleeper
  
  AlarmClock類是一個服務提供者 - 經過一定的時間后通知對象。
  
  為了得到AlarmClock的“sleepers”清單,一個對象必須做兩
  件事:
  
  讓鬧鐘把它叫醒。
  實現wakeUp方法。
  第一步由對象調用AlarmClock的letMeSleepFor方法實現:
  
  public synchronized boolean letMeSleepFor(Sleeper
  theSleeper, long time) {
  int index = findNextSlot();
  if (index == NOROOM) {
  return false;
  } else {
  sleepers[index] = theSleeper;
  sleepFor[index] = time;
  new AlarmThread(index).start();
  return true;
  }
  }
  假如AlarmClock有空間,它就注冊sleepers,為它開始一個新
  的AlarmThread,然后返回true。經過一段特定的時
  間,AlarmClock調用theSleeper的wakeUp方法。
  
  然后是第二步,一個想使用AlarmClock的對象必須實現wakeUp
  方法(于是AlarmClock可以在過了一段時間后調用它來通知
  對象)。這通過被注冊的對象的數據類型實現。
  
  letMeSleepFor方法的第一個參數是希望被叫醒的對象。這個參
  數的數據類型是Sleeper,使用了接口的名字:
  
  public interface Sleeper {
  public void wakeUp();
  
  public long ONE_SECOND = 1000; // in milliseconds
  public long ONE_MINUTE = 60000; // in milliseconds
  }
  Sleeper接口定義了wakeUp方法但沒有實現之。它也定義了兩個
  有用的常數。實現這個接口的類繼續了這兩個常數,并且必須
  實現wakeUp。
  
  任何是Sleeper的對象都實現了這個接口。這意味著它實現了接
  口定義的所有方法。于是一個Sleeper對象實現了wakeUp方法,
  滿足了第二個需求。
  
  例如,下面的類GUIClock實現了Sleeper接口,顯示當前時間,
  并使用一個AlarmClock對象每分鐘喚醒它一次,達到更新的
  目的:
  
  class GUIClock extends Applet implements Sleeper{
  . . .
  public void wakeUp() {
  repaint();
  clock.letMeSleepFor(this, ONE_MINUTE);
  }
  }
  
  為什么不只用抽象類?
  
  很多程序員迷惑接口和抽象類有什么區別。接口只是未實現的
  因此是抽象方法的清單。下面的Sleeper類與Sleeper接口是一回
  事嗎?
  
  abstract class Sleeper {
  public abstract void wakeUp();
  }
  不,這兩者不同。假如Sleeper是一個抽象類,那么所有希望使
  用AlarmClock的對象都必須是從Sleeper繼續的類的實例。然而,
  很多希望使用AlarmClock的對象已經有了一個父類。例
  如,GUIClock是一個Applet,它必須是運行在瀏覽器中的小應用
  程序。但是Java不支持多個繼續。因此GUIClock不能既是一
  個Sleeper,又是一個Applet。所以要用一個接口替代。
  
  這是對問題的實際解釋。概念性的解釋是這樣的:AlarmClock不
  能在它的用戶上強制類關系。是什么類沒有關系,要關心的是
  它們實現了一個非凡方法。
  
  那么接口提供了多個繼續嗎?
  
  接口一般被描述成多個類繼續的替代物。雖然接口可以解決類
  似的問題,接口和多個類繼續還是不同的,尤其是:
  
  一個類只固定地從一個接口繼續。
  類不能從接口中繼續方法的實現。
  接口層次獨立于類層次。實現相同接口的類不一定通過類層次關聯。多個繼續不是這樣。
  然而,Java答應多個接口繼續。也就是說,一個接口可以有多個
  父接口。
  
  那么,接口能做什么呢?
  
  接口可以用在下列情況下:
  
  不用強制類關系而在不相關的類之間實現相似性。
  定義一個或多個類希望實現的方法。
  不用類而實現對象編程(稱為匿名對象)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲黄色免费三级| 国产成人综合精品| 九九热这里只有在线精品视| 亚洲欧美中文另类| 亚洲三级黄色在线观看| 91久久久亚洲精品| 久久综合88中文色鬼| 欧美另类高清videos| 欧美激情精品久久久久久免费印度| 欧美性色xo影院| 亚洲电影免费观看高清完整版在线| 日韩欧美在线中文字幕| 日韩精品中文在线观看| 国产精品久久77777| 日韩中文第一页| 97视频免费在线看| 欧美日韩免费一区| 欧美大成色www永久网站婷| 亚洲va久久久噜噜噜久久天堂| 欧美精品一本久久男人的天堂| 欧美成人在线免费| 久久精品中文字幕一区| 欧美精品videosex牲欧美| 亚洲免费成人av电影| 欧美性猛交xxxx乱大交| 成人国产在线激情| 久久视频在线免费观看| 中文字幕国产亚洲2019| 欧美久久久精品| 国产一区二区三区在线观看视频| 亚洲成人精品久久| 992tv成人免费影院| 97香蕉久久超级碰碰高清版| 亚洲精品视频二区| 在线精品国产成人综合| 国产精品偷伦免费视频观看的| 色诱女教师一区二区三区| 亚洲va欧美va在线观看| 久久五月情影视| 亚洲成人国产精品| 疯狂做受xxxx高潮欧美日本| 精品一区二区三区四区在线| 日韩三级成人av网| 深夜福利亚洲导航| 国产深夜精品福利| 色哟哟网站入口亚洲精品| 国产精品老牛影院在线观看| 91亚洲国产成人久久精品网站| 国产精品高潮粉嫩av| 久久国产精品久久久久| 亚洲天堂精品在线| 久久久亚洲国产天美传媒修理工| 国产精品视频白浆免费视频| 精品一区二区三区三区| 成人福利免费观看| 亚洲老头同性xxxxx| 2019国产精品自在线拍国产不卡| 人九九综合九九宗合| 国产高清在线不卡| 日韩中文视频免费在线观看| 国产在线拍偷自揄拍精品| 日韩av网站电影| 久久av红桃一区二区小说| 欧美日韩在线免费| 伦伦影院午夜日韩欧美限制| 91色在线视频| 亚洲国产精品va在线看黑人| 一区二区三区四区在线观看视频| 日韩国产欧美精品在线| 国产一区二区av| 在线视频欧美日韩| 精品视频在线观看日韩| 亚洲欧美日韩中文在线| 精品欧美激情精品一区| 色无极亚洲影院| 精品国产福利视频| 亚洲欧美999| 久久久久久噜噜噜久久久精品| 久久影视三级福利片| 亚洲第一av网站| 久久久中文字幕| 欧美日韩国内自拍| 亚洲97在线观看| 欧美性猛交xxxx久久久| 久久久久国产精品免费| 日韩中文字幕亚洲| 欧美午夜影院在线视频| 日韩中文在线不卡| 亚洲毛茸茸少妇高潮呻吟| 久久久久久久999精品视频| 成人欧美一区二区三区黑人孕妇| 欧美日韩国内自拍| 欧美视频中文字幕在线| 国产香蕉一区二区三区在线视频| 精品欧美激情精品一区| 国产视频精品xxxx| 欧美日韩免费在线| 全色精品综合影院| 91夜夜揉人人捏人人添红杏| 91免费看片网站| 日韩人在线观看| 日韩av在线电影网| 国产精品激情av电影在线观看| 欧美在线视频免费播放| 色av吧综合网| 91免费观看网站| 在线观看亚洲视频| 亚洲欧美日韩图片| 日韩av在线天堂网| 日韩美女毛茸茸| 亚洲一区二区日本| 日韩在线观看网站| 亚洲无亚洲人成网站77777| 国产精品久久久久久av福利| 久久男人av资源网站| 日韩精品中文字幕在线| 久久久91精品| 97久久超碰福利国产精品…| 欧美中文字幕视频在线观看| 色综合久久88色综合天天看泰| 午夜精品三级视频福利| 亚洲国内精品在线| 日韩视频免费观看| 欧美—级a级欧美特级ar全黄| 国产精品嫩草视频| 日本三级韩国三级久久| 97视频在线观看亚洲| 精品亚洲一区二区三区在线观看| 欧美国产精品日韩| 国产精品自拍网| 国内精品在线一区| 亚洲一区第一页| 日韩视频在线一区| 7777精品久久久久久| 欧美在线观看网站| 狠狠操狠狠色综合网| 狠狠躁夜夜躁久久躁别揉| 日韩av在线一区| 亚洲精品国产综合区久久久久久久| 成人性生交大片免费看视频直播| 26uuu日韩精品一区二区| 国产精品久久久一区| 亚洲精品久久久久国产| 亚洲综合精品伊人久久| 一区二区三区四区视频| 国产精品极品在线| 亚洲一区二区三区视频播放| 日韩精品免费综合视频在线播放| 欧美另类高清videos| 欧美精品videosex牲欧美| 成人在线免费观看视视频| 韩国精品美女www爽爽爽视频| 久久99精品视频一区97| 国产精品免费一区豆花| 自拍偷拍免费精品| 美女撒尿一区二区三区| 最近的2019中文字幕免费一页| 亚洲精品动漫久久久久| 国产成人自拍视频在线观看| 亚洲精品国产精品国自产在线| 欧美国产精品人人做人人爱| 亚洲精品wwww| 国产精品免费福利| 亚洲成av人乱码色午夜|