曾经学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(); //那么就能够找到内存中那个真正的对象里面的方法并使用了 } }