- 介绍
本文是对Java中接口的认识和理解,各位看官如感觉有错误之处,还希望能不吝赐教,留下您的看法。
在Java中,所有的都是类(class),现在我们要讨论的接口(interface)其实也是一种特殊的类。当然了,除此之外在Java中还有其他特殊的类,例如:枚举、抽象类、内部类等,这些不在本次讨论的范围内。
- 困惑
对于刚刚接触Java开发的童鞋来说,接口其实有点不太好理解,毕竟在接口中是没有包含任何“实际性”的东西。既然如此,那么要它(接口)还有什么用处呢?
之后,如果已经理解了接口是个什么东西的话,那么接口该如何定义呢?太过于模糊的东西,总是很难把握好。例如,在接口中定义的方法参数,究竟是使用Map或者Object这种很宽泛的类型好呢,还是使用String、int这些具体的类型好呢?参数的数量太多肯定是不好的,所以有人就喜欢使用Map类型,这样在添加参数的时候,表面上看起来不会有很多改变;但是,这样就真的很好嘛?
接口和抽象类在某些方面非常相似,都可以定义不需要自己实现的方法,那么什么时候该用接口而不是抽象类呢?我认为,这是没有一个具体的、武断的答案的。Java本身是面向对象的,而面向对象又有自己的规定,那么就可以完全按照面向对象的思想来使用接口和抽象类吗?那肯定是不行的,你在实际的开发过程中就会发现,有些场合是无法完全照搬面向对象的。从另一个角度来说,面向对象也不是万能的,无法解决所有的问题。
- 使用场景