这个问题我分三部分来回答你:
一、接口的出现,完成了解耦,接口是暴露的规则,这个规则有两个关联方,一方使用这个规则,一方面实现了这个规则,就像笔记本电脑使用了USB的规则,而一些外部设备则实现了这些规则,所以他们之间就有了耦合性!笔记本就有了扩展功能,比如拥有了外设鼠标或者摄像头的功能等等
我们都知道java中是不能直接进行多继承的,这样会有不确定性发生,但是事物功能的扩展可以通过接口进行多实现,所以接口的出现避免了单继承的局限性,
二、要弄明白继承和实现的区别;父类中定义的是事物的基本功能,你也可以理解为父类和子类之间是 is a(是) 的关系,即子类是父类中的一种,是从属关系,子类肯定具备父类中的基本属性,在此基础上子类可以有自己的特殊的属性和功能,
而接口中定义的是事物的扩展功能,你可以理解为 like a(像) 的关系,而且,接口中定义的都是抽象的方法,接口是没有方法体的,所以接口不会像多继承那也样出现不确定性,她是可以实现多实现的,即一个类可以实现多个接口,从而具备多个接口中的扩展功能,
三、我的理解是广义的接口和java中的接口的思想史相通的
希望以上回复能帮到你,祝顺利! |