Java之所以具有強大的面向對象能力,是因為其具有① 類(class) 和② 接口 (interface)。有了這兩種機制,我們(impelmentors)就可以進行面向對象設計。
類(class)是從一些列相關對象中抽象出來的概念,反應的是事物的內部共性。
接口(interface)則是為了滿足外部調用定義的一個功能約定,反映的是事物的外部特性。
如果把類看作事物的話,由于事物=事+物,那么接口就是事了。所以有種說法是接口是特殊的抽象類。接口中只是定義了一些空的概念,并沒有描述這些概念是如何一步步實現(xiàn)的。再比如看下面例子:
話不多說,讓我們看看兩者的代碼形式:
interface定義:
pubic interface Student{
void learning();//這里不需寫訪問權限,learning()就自動成為了public void learning()
int num = 10;//這里的int很自然的變成了public static final int num;
}
//實現(xiàn)接口
class Student1 implements Student{
public void learning(){
System.out.println("學生在吃飯中。。。。");
}
}