接口可以看作是一种机制。它的提出就是为了定制必须满足某些功能的类(类必须实现接口定义里的全部方法)
否则,如果我们写程序的时候,每次从接口上调用一个方法的时候,还要先检测一下:if(i.IsImplemented(i.f))
那就像前面某位朋友说的,要接口还有啥用啊?直接从Object上进行检测不就得了?总归所有的类都从Object继承来的。
而且如果检测失败了怎么办?抛出异常?何必呢?
如果可以只实现接口中的部份方法,这样在用户在使用时候的灵活性不是更大。同样也是可以实现多态的机制的。
如果你经常发现某个类只需要实现某个接口中的一小部分方法就可以很有用了,那说明那个接口的设计有问题了,它太大了,它应该分成多个接口的。JAVA标准库中的接口,大多数只有一个方法