1. 程式人生 > >java中的interface

java中的interface

實現接口 bstr post 格式 system 組成 類型 如果 不一定

轉載:

Java不支持多重繼承,即一個類只能有一個父類
  為了克服單繼承的缺點,Java使用了接口,一個類可以實現多個接口
  接口是抽象方法和常量值定義的集合,是一種特殊的抽象類
接口中只包含常量和方法的定義,沒有變量和方法的實現
接口中的所有方法都是抽象的
接口中成員的訪問類型都是public
接口中的變量默認使用public static final標識(可以在定義的時候不加此修飾,系統默認)
  接口通過使用關鍵字interface來聲明
格式:interface 接口的名字
  接口體:
接口體中包含常量定義和方法定義兩部分
接口體中只進行方法的聲明,不允許提供方法的實現
方法的定義沒有方法體,且用分號結尾
public interface Runner
{
int ID=1;
void run();
}
  接口允許被繼承,可以用extends繼承一個已有的接口
public interface Runner
{
int ID=1;
void run();
}
interface Animal extends Runner
{
void breathe();
}
  通過使用implements實現接口中的所有方法
class Fish implements Animal
{
public void run()
{
System.out.println("Fish is swiming");
}
public void breathe()
{
System.out.println("Fish is bubbling");
}
}

如果只需要實現某接口中定義的部分方法,可以通過定義一個抽象類來實現
abstract class LandAnimal implements Animal
{
public void breathe()
{
System.out.println("LandAnimal is breathing");
}
  一個類可以繼承一個父類的同時,實現一個或多個接口,extends關鍵字必須位於implements關鍵字之前
class Student extends Person implements Runner
{
……
public void run()
{
System.out.println("The student is Running");
}
……
}

在類中實現接口的方法時,方法的名字、返回類型、參數個數及類型必須與接口中的完全一致
  接口中的方法默認是public 的,所有類在實現接口方法時,一定要用public來修飾
  如果接口的方法的返回類型不是void,則在類中實現該接口方法時,方法體至少要有一個return語句
  如果是void類型,類體除了兩個大括號以外,可以沒有任何語句
  Java中提供的接口都在相應的包中,通過引入包可以使用Java提供的接口,也可以自己定義接口
一個Java源文件就是由類和接口組成的
  接口可以增加很多類都需要實現的功能,不同的類可使用相同的接口,同一個類也可實現多個接口
  接口只關心功能,並不關心功能的具體實現,使用相同接口的類不一定有繼承關系
  public接口:接口聲明時,關鍵字interface前面加上public關鍵字,可以被任何一個類使用
友好接口類:一個接口不加修飾,友好接口可以被同同一包中的類使用。

java中的interface