接口的定義
抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。
接口并不是類,編寫接口的方式和類很相似,但是他們屬于不同的概念。類描述的是對象的屬性和方法。接口則包含類要實現的方法。
除非實現接口的類是抽象類,否則該類要定義接口中的所有方法。
接口無法被實例化,但可以被實現。一個實現接口的類,必須實現接口內所描述的所有方法,否則就必須聲明為抽象類。另外在java中,接口類型可用來聲明一個變量,他們可以成為一個空指針,或者是被綁定在一個以此接口實現的對象。
package Peculiar;public interface batter {public void pannal();public int get();}
package Peculiar;public class Matter implements batter{@Overridepublic void pannal() {// TODO Auto-generated method stubSystem.out.println("HELLO");}@Overridepublic int get() {// TODO Auto-generated method stubreturn 0;}}
接口與類的區別
接口的特性
接口中的每一個方法都是隱式抽象的,接口中的方法會被隱式的指定為public abstract (只能是public abstract,其他修飾符都會報錯)。
接口中可以含有變量,但是接口中的變量會被隱式指定為public static final(并且只能是Public,用private修飾會報編譯錯誤)。
接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。
接口與類的相似點
一個接口可以有多個方法。
接口文件保存在.java結尾的文件中,文件名使用接口名。
接口與類的區別
接口不能實例化對象。
接口沒有構造方法。
接口的實例
接口的聲明
接口的聲明格式如下
【可見度】interface 接口名稱 【extends 其他的接口名】{
? ? ? ? //聲明變量
? ? ? ? //抽象方法
}
interface關鍵字用來聲明一個接口。
例子
public interface NameOfInterface{
? ? ? ? //任何類型final,static字段
? ? ? ? //抽象方法
}
package Peculiar;public class Matter implements batter{@Overridepublic int get() {// TODO Auto-generated method stubreturn 5;}@Overridepublic void pannal() {// TODO Auto-generated method stubSystem.out.println("dsfas");}public static void main(String args[]) {Matter matter=new Matter();matter.pannal();System.out.println(matter.get());}}