接口=全局常量+公共的抽象方法;
1.接口定義了某一批類所需要遵守的規範,接口不關心這些類的内部資料,也不關心這些類裡方法的實作細節,它隻規定這些類裡必須提供某些方法。
2.接口用interface定義,文法:
[修飾符] interface abstract 接口名 [extends 父接口1,父接口2……]
{//中括号中為可選項
零個到多個常量定義……
零個到多個抽象方法的定義
}
3.接口就是用來被繼承、被實作的,修飾符一般建議用public,不能使用private和protected修飾接口。
4.接口中的屬性是常量(public static final修飾),系統會自動加上
5.接口中的方法隻能是抽象方法(public abstract修飾),系統會自動加上
6.使用接口:一個類可以實作一個或多和接口,實作接口使
用implements關鍵字。java中一個類隻能繼承一個父類,可以通過實作多個接口作補充。
7.繼承父類實作接口的文法:
[修飾符] class 類名 extends 父類 implements 接口1,接口2……{
類體部分}//如果繼承的是抽象類,需要實作繼承的抽象方法;要實作接口中的抽象方法
如果要繼承父類,繼承父類必須在實作接口之前
接口命名時首字母為I,以區分類名。可通過add繼承父接口
8.實作時可以利用接口的引用指向實作了接口的對象,調用其方法,如 :
IPlay ip1=new Psp();ip1.playGame();
9.接口的使用還經常與匿名内部類配合(匿名内部類就是沒有名字的内部
類,多用于關注實作而不關注實作類的名稱)
//法一:通過接口的引用指向new的接口的對象
文法格式:
Interface i=new Interface(){
public void method(){
System.out.print("匿名内部類實作接口的方式……");}}
//法二:即通過建立接口的對象,直接寫出實作的方法,再調用此方法還可以直接建立并調用方法,如:
new IPlay(){
public void playGame(){
System.out.println("……");}}.playGame();
-----接口-----接口取名字一般前面加一個IPlayGame
1.接口概念
類是一種具體實作體,而接口定義了某一批類所需要遵守的規範,接口不關心這些類的内部資料,也不關心這些類裡方法的實作細節,它隻規定這些類裡必須提供某些方法。
2.接口的定義
和類定義不同,定義接口不再使用class關鍵字,而是使用interface關鍵字。
3.接口定義的基本文法:
[修飾符] [abstract] interface 接口名 [extends 父接口1,父接口2...]
{
零個到多個常量定義...
零個到多個抽象方法的定義...(抽象方法的abstract會自動加)
接口就是用來被繼承、被實作的,修飾符一般建議用public
注意:不能使用private和protected修飾接口
4.使用接口
一個類可以實作一個或多個接口,實作接口使用implements關鍵字。Java中一個類隻能繼承一個父類,是不夠靈活的,通過實作多個接口可以做補充。
[修飾符] class 類名 extends 父類 implement 接口1,接口2...
類體部分//如果繼承了抽象類,需要實作繼承的抽象方法;要實作接口中的抽象方法。
接口的引用:
IPlayGame ip1=new SmartPhone();
ip1.playGame();
IPlayGame ip2=new Psp();
ip2.playGame();