1. 程式人生 > >面向對象之接口

面向對象之接口

strong 設備 class 抽象 oracle 必須 void 重寫 但是

接口概念

接口是功能的集合,同樣可看做是一種數據類型,是比抽象類更為抽象的”類”。

接口的定義

與定義類的class不同,接口定義時需要使用interface關鍵字。

定義接口所在的仍為.java文件,雖然聲明時使用的為interface關鍵字的編譯後仍然會產生.class文件。

這點可以讓我們將接口看做是一種只包含了功能聲明的特殊類。

定義格式:

public interface 接口名 {
  抽象方法1;
  抽象方法2;
  抽象方法3;
}

使用interface代替了原來的class,其他步驟與定義類相同:

l 接口中的方法均為公共訪問的抽象方法

l 接口中無法定義普通的成員變量

類實現接口

類與接口的關系為實現關系,即類實現接口。實現的動作類似繼承,只是關鍵字不同,實現使用implements。

classimplements 接口 {
    重寫接口中方法
}

接口中成員的特點

1、接口中可以定義變量,但是變量必須有固定的修飾符修飾,public static final 所以接口中的變量也稱之為常量,其值不能改變。

2、接口中可以定義方法,方法也有固定的修飾符,public abstract

3、接口不可以創建對象。

4、子類必須覆蓋掉接口中所有的抽象方法後,子類才可以實例化。否則子類是一個抽象類。

package com.oracle.demo01;
//接口中的所有方法都必須是public abstract //如果不聲明,那麽默認public abstract //在接口中所有的成員變量都是常量 默認修飾符:public static final //static: 類名.成員調用 //final:聲明變量 就是常量 public interface MyInterface { public static final int a=1; public abstract void method1(); public int method2(); }

接口的多實現

interface Fu1
{
    void show1();
}
interface Fu2 { void show2(); } class Zi implements Fu1,Fu2// 多實現。同時實現多個接口。 { public void show1(){} public void show2(){} }

接口的思想

總結:接口在開發中的它好處

1、接口的出現擴展了功能。

2、接口其實就是暴漏出來的規則。

3、接口的出現降低了耦合性,即設備與設備之間實現了解耦。

面向對象之接口