1. 程式人生 > 實用技巧 >學習java第33天

學習java第33天

1. Java介面中的成員變數預設都是public,static,final型別的(都可省略),必須被顯示初始化,即介面中的成員變數為常量(大寫,單詞之間用"_"分隔)

2. Java介面中的方法預設都是public,abstract型別的(都可省略),沒有方法體,不能被例項化

publicinterfaceA

{

intCONSTANT=1;//合法,CONSTANT預設為public,static,final型別,常量全部字母大寫

voidmethod();//合法,method()預設為public,abstract型別

上面的方法相當於publicabstractvoidmethod();

}

3.Java介面中只能包含public,static,final型別的成員變數和public,abstract型別的成員方法


publicinterfaceA

{

inta; //錯,a必須是常量,且必須被初始化

voidmethod(){...};//錯,介面中只能包含抽象方法 ,不能有方法體

protectedvoidmethod();//錯,介面中的方法必須是public型別

staticvoidmethod(){...};//錯,介面中不能包含靜態方法

}

4.介面中沒有構造方法,不能被例項化

publicinterfaceA

{

publicA(){...}; //錯,介面中不能包含構造方法,要使用接口裡面的抽象方法只能使用一個的子類實現它,A介面不能例項化

voidmethod();

}

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


publicinterfaceA

{

voidmethodA();

}

publicinterfaceB

{

voidmethodB();

}

publicinterfaceCextendsA,B//C稱為複合介面

{

voidmethodC();

}

publicinterfaceCimplementsA{...}//錯

6、Java介面必須通過類來實現它的抽象方法

public class A implements B{...}

7.當類實現了某個Java介面時,它必須實現介面中的所有抽象方法,否則這個類必須宣告為抽象的

8.不允許建立介面的例項(例項化),但允許定義介面型別的引用變數,該引用變數引用實現了這個介面的類的例項


publicclassBimplementsA{}

Aa=newB();//引用變數a被定義為A介面型別,引用了B例項

Aa=newA();//錯誤,介面不允許例項化

9. 一個類(包括抽象類)只能繼承一個直接的父類,但可以實現多個介面,間接的實現了多繼承

10明天學習內容:介面也可以繼承,標記介面