曾經學php的時候學習過interface,感受就是定義一個接口,在裏面寫些方法體,但這些方法什麼也不作,感受這樣很廢,什麼也不作那這樣寫與不寫有啥區別?php
最近學習java,從頭認真細讀interface的做用,明白其妙用主要在於代表實現它的那些類的方法主要做用是什麼,也就是起到一個標誌的做用,代表這些方法分別有什麼做用。人家給一個方法你去使用,固然人家第一次能夠告訴你這個方法有什麼做用,但第二,第三次之後呢?懶得說了,本身去看它實現了那個接口,本身去找接口裏面的方法分別有什麼做用吧,並且若是你是項目的頭,你架構整個項目,你知道這個項目須要什麼些什麼功能,你能夠直接寫接口分派給手下去實現這些功能java
interface It{ void f(); } class B implements It{ public void f(){ System.out.printf("BBBBB"); } } public class A{ public static void main(String[] args){ //It it = new It(); error 接口自己就是個抽象類不能直接new //可是... It it; //這裏先定義,但不使用 it = new B(); // 經過new B 生成一個對象並把這個對象的地址發送給it這個引用 it.f(); //那麼就能夠找到內存中那個真正的對象裏面的方法並使用了 } }