对于初学Java的人来说,JSE需要理解的部分是非常多的,可能刚开始学的时候想不明白,但过后回过头来看,一切都了然。
一、在Java中什么是接口?
? ? ? ?如果你去百度查得到的结果可能是“Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。”,试问一名初学者怎么能够看懂和理解接口是上什么东西?既然这东西比较抽象,那我们就举例子来说明好了。
? ? ? ?在生活中你应该有使用USB来存取数据过,我们在使用的时候,只需要把它插入到主机的USB接口上就可以了,完成这个动作没有难度,也不需要技巧和经验。最重要的是,只要我们看到一个电子元件上有USB的接口,你就会知道,这应该是可以插入USB的。? ? ? ?
? ? ? ?那你是怎么得出这个结论的呢?你当然是根据接口的形状、大小以及面板上的文字说明得出来的,也就是说只要符合这个特征,你就知道它一定可以插入USB。
? ? ? ?这就是使用接口的好处,你不用去了解接口背后的事情(不用知道它怎么焊接到主板上的,线路是怎么个布局),不管这个USB接口是安装在电脑主机上、还是音响上、还是玩具上你只要拿一个USB就可以插上去并使用了。这就是标准化接口之后的好处。
? ? ? ?那为什么这些制造产品的厂家都会做出一样的接口呢?他们肯定是遵循了一些国际上的通用标准了的,有了这个标准之后,他们产品上的USB接口才会一样,你也才能使用。
? ? ? ?那我们回到Java的世界里来,接口就是用来规范标准的。所有的厂家只需要实现或跟这个接口对接即可。你可以把接口暂时想像成一个协议,用来规范一些标准的东西,这些东西大家(开发人员)都要遵守。
?
二、接口的作用?
? ? ? ?接口就是来统一和约定标准的。在接口中通常会定义一个方法(我们在这里理解为做一件事情),可以理解为老板现在安排一个任务:“我要一份牛肉面”。由你(开发人员)去完成这样一个任务,那怎么付出完成呢?很简单,给老板任务买(给接口中的方法返回)一碗牛肉面就可以了。至于你去楼下哪一家面馆买,买多少钱的,只要接口上没有给出来(老板没有强调),你就可以随意的买。
?
三、为什么要面向接口编程
? ? ? ?有人会问不是要面向对象编程吗?怎么又要面向接口编程?我可以告诉你还要面向切面编程。这三个东西需要好好理解。这三个原则是可以共存的,他们所针对的方向和范围有一些区别。面向对象是让你把事物抽象成对象,看成是有生命的,它有属性和方法。面向切面是让你可以在方法开始前做点什么,方法快要结束后又可以做点什么。面向接口可以更好的面向对象、提高程序的可维护、可伸缩性。也能够更好的进行团队协作开发。
以上理解,以后会慢慢了解的。