国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

java學習之接口

2019-11-15 00:46:28
字體:
來源:轉載
供稿:網友
java學習之接口什么是接口?
  • 一個Java 接口(interface)是一些方法特征的集合,這些方法特征來自于具體方法,這些方法符合它們一般來自于一些在系統中不斷出現的方法。一個接口只有方法的特征,而沒有方法的實現,因此這些方法在不同的地方被實現時,可以具有完全不同的行為。在Java語言中,Java接口還可以定義public的變量。
  • 接口把方法的特征和方法的實現分割開來。這種分割,體現在接口常常代表一個角色(role),它包裝與該角色相關的操作和屬性,而實現這個接口的類便扮演這個角色的演員()。一個角色(接口)可以由不同的演員()來演,而不同的演員()之間除了扮演一個共同的角色(接口)之外,并不要求有任何其他的共同之處。

    注意:
  • 在人們講到“接口”時,這個詞往往有兩種不同的含義:

  • 第一種是指Java接口,這是一種Java語言中存在的結構,有特定的語法和結構。
  • 第二種僅僅是指一個類所具有的方法的特征集合,是一種邏輯上的抽象。

  • Java的接口可以有public、靜態的(static)和final的屬性。

接口的用法
  • 定義與實現
public interface Test{   public static final int num; //成員常量具有固定的修飾符:public static final   public abstract void method; //成員函數具有固定的修飾符:public abstract }public class Testimpl implements Test{// 實現接口中的所有方法    .....}
接口的特性
  • 接口不是類,尤其不用使用new運算符實例一個接口。
  • 不能構造接口的對象,卻能聲明接口的變量。(出現在回調設計模式中,體現了Java的多態特性)
/**功能:到達指定的時間發出通告*/public interface ActionListener{    void actionPerformed(ActionEvent event);}class TimePRinter implements ActionListener{     //此處ActionEvent參數提供了事件的相關信息     public void actionPerformed(ActionEvent event){     Date now = new Data();     System.out.println("At the tone, the time is" + now);     Toolkit.getDefaultToolkit().beep();     }}//然后構造這個類的一個對象,并將它傳遞給Timer構造器。ActionListener listener = new TimePrinter();Timer t = new Timer(10000, listener);
  • 接口中不能包含實例域或靜態方法。
  • 接口與接口之間可以是繼承關系,而且可以實現多繼承。
public interface Moveable{void move(double x, double y);}public interface Powered extends Moveable{double milesPerGallon();}
注意點
  • 對于接口中的固定修飾符,可以省略。
  • 一個類實現多個接口時,接口與接口之間要用逗號隔開。
  • 接口的變量必須引用實現了接口的類對象。
對于自己在學習接口時所存在的疑惑接口為何不能用繼承代替呢?回答:
  1. Java中不支持多繼承,也就是不能存在一個子類繼承多個父類的情況,當然你會問這是為什么呢.因為這會造成子類中某些方法或者變量的不確定性。
  2. 為了彌補①中采用單繼承所帶來的不足,Java出現了接口這個概念,接口可以很好的避免這個問題的出現。
  3. Java中通過多實現接口的方式去解決類之間無法多繼承的問題。
參考書籍
  • Java核心技術 卷一
  • Java與模式

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉沽区| 盐城市| 肇东市| 安康市| 都江堰市| 顺平县| 麻江县| 阜阳市| 乌海市| 木里| 宁德市| 海林市| 沙湾县| 唐山市| 清原| 贵德县| 临桂县| 获嘉县| 化隆| 南昌市| 邹城市| 舒城县| 新龙县| 昌图县| 长沙市| 沧州市| 阜平县| 轮台县| 盖州市| 土默特左旗| 邮箱| 宣城市| 洪雅县| 磐安县| 宜城市| 木兰县| 富宁县| 灵宝市| 眉山市| 安宁市| 武隆县|