(1)子类不能多继承,接口可以解决单继承的缺点,接口可以增加很多类都需要的功能,但使用接口的类直接不需要有继承关系。接口只关心哪些类需要什么样的功能,不关心功能怎么去实现,具体的实现由类自己去实现。
(2)接口回调:把实现接口的类的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用该对象实现的接口方法。实际上,当接口变量调用接口实现的方法时,就是通知相应的对象调用接口方法。(整个过程和上转型类似)
(3)接口做参数:如果方法参数是接口类型,就可以将实现接口类的实例引用传给该接口参数,那么该接口参数就可以回调类实现的接口方法。如有一个接口M,类A实现了接口M,B类中有个方法Hello(M m),则接口做参数形式: B b=new B();b.Hello(new A).