Java中定義接口的關(guān)鍵字是“interface”?!癷nterface”是面向?qū)ο缶幊陶Z言中接口操作的關(guān)鍵字,功能是把所需成員組合起來,用來裝封一定功能的集合。接口不能直接實(shí)例化,也不能包含成員的任何代碼,只定義成員本身。
Java中定義接口的關(guān)鍵字是interface
interface關(guān)鍵字
interface是面向?qū)ο缶幊陶Z言中接口操作的關(guān)鍵字,功能是把所需成員組合起來,用來裝封一定功能的集合。它好比一個模板,在其中定義了對象必須實(shí)現(xiàn)的成員,通過類或結(jié)構(gòu)來實(shí)現(xiàn)它。接口不能直接實(shí)例化,即ICount ic=new iCount()是錯的。接口不能包含成員的任何代碼,只定義成員本身。接口成員的具體代碼由實(shí)現(xiàn)接口的類提供。接口使用interface關(guān)鍵字進(jìn)行聲明。
接口是與類并行的一個概念
Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)
① 接口可以看做是一個特殊的抽象類,是常量與抽象方法的一個集合,不能夠包含變量,一般的方法
interface AA{ //常量 : 所有的常量都用public static finial修飾 默認(rèn)的,寫不寫都有 int I = 15;// public static final int I = 12;// public static final boolean FLAG = false; /*抽象方法 * * 抽象方法:所有的都用public abstract 修飾 寫不寫都有 * */ void method1(); void method2();// public abstract void method1();// public abstract void method2(); }
② 接口是沒有構(gòu)造器的
③接口定義的就是一種功能,此功能可以被類所實(shí)現(xiàn)(implements)
class CC implements AA{ public void method1() { } public void method2() { } }
④ 實(shí)現(xiàn)接口的類,必須要重寫其中的所有抽象方法,方可實(shí)例化,若沒有重寫所有的抽象方法,則此類仍為一個抽象類
abstract class BB implements AA{ }
⑤ 在java中的繼承是單繼承的,但是類可以實(shí)現(xiàn)多個接口.
接口 TZ
interface TZ{ void method3();}
類 CC 實(shí)現(xiàn)多個接口
class CC implements AA,TZ{ public void method1() { } public void method2() { } public void method3() { } }
⑥ 接口與接口之間也是繼承的關(guān)系,而且可以實(shí)現(xiàn)多繼承.
接口 MM 繼承接口 TZ,AA
//java 中接口之間仍為繼承關(guān)系!(多繼承)interface MM extends TZ,AA{ void method4(); }
推薦教程:《java教程》