菜鸟简单理解java中使用接口的意义

众所周知,接口(interface)是java中很重要的作用,其中接口作用如下:1.使java拥有拥有强大的面向对象的能力,2.简单,规范,3.维护/可扩展性;4.安全严密

之前一直不能很好的理解接口的作用,会有种种疑问,如:

1.为啥要定义接口,直接在类中实现方法不行吗?

针对这个问题在网上看到一个举例然后恍然大悟.例子如下:像java内置的接口Comparable里的方法:compareTo就被很多类实现,如各种不同数据类型里有不同的实现.如果不定义接口直接在类里定义方法可能不同的类就会命名不同的方法名,即不能统一规范..并且如果没有接口的话也不能很好的知道每个类里的对应方法都是用来比较的.

2.如果某个接口里的方法只被一个类实现的话那还有必要写这个接口吗?

思考这个问题是因为看我们的工程里每个service都是接口,然后基本上都只有一个类实现了该接口.所以一直不太理解为什么要这么做.心想为啥还多此一举的定义接口呢.后来了解到这样做是为了以后更好的扩展,比如有个userService接口,里面有个方法getUserInfoById的,有一个实现类UserServiceImpl实现时限制了传入的uid必须是数字且长度在8-12位之间.但后面又有新的需求了要求uid长度在10-15位之间,这样已有的方法肯定是无法满足需求的,但也不能直接在已有的方法上进行修改,因为有很多地方都在调用此方法,若修改就会导致问题.这个时候就可以再新建个类实现该接口了..这个就是接口的可维护/可扩展性..


以上,仅代表个人初步理解..刚接触接口这块儿总是不理解接口的意义,仅此总结一下加深印象,有理解错误的地方望指正~

你可能感兴趣的:(菜鸟简单理解java中使用接口的意义)