日期:2014-05-20  浏览次数:20604 次

我是菜鸟 问个关于接口弱智的问题
本人上大二,刚学到java接口,现在我在想为什么java要有接口啊?接口里面的方法只有定义,却没有具体的实现,当一个类实现一个接口的时候还得实现接口中的方法,那就不如在类中直接定义一个方法,然后去调用这个方法得了。可能我问的问题比较弱智,大家勿喷。。。。。

------解决方案--------------------
其实接口可以当引用类型使用,这样一来就nb了。。所以你继续看,全看完了在发问,这样一些中间过程产生的问题也许会迎刃而解~
------解决方案--------------------
还有一种接口称为标识接口,这种接口里面没有任何方法。只表示实现该接口后,就具有了某种能力,如Cloneable、Serializable接口。
------解决方案--------------------
定义接口,其实某种意义也是定义了一种规范,允许实现其本身类要遵循一某种约定,但是具体的实现千差万别。这就该实现接口的类自己定义了。
------解决方案--------------------
因为有些时候 类里面你不知道有什么方法, 比如 我可以先写一个打人的接口, 那你那个类需要打人的继承这个接口就可以。

还有接口定义好了方法,实现它的类就必须实现它的方法,这样你的类就不会缺少某种必须的方法了,方便以后的扩展和维护
------解决方案--------------------
接口有规范某个方法,让子类一定要实现这个方法,还有接口可以同时实现多个,而类只能继承一个
------解决方案--------------------
其实接口就是定义一种规范,举个简单的例子吧,假如你要求各种图形的面积,你就可以定义一个实现求面积的接口,这样你具体求哪一个图形的面积,你只需要实现这个接口里面定义的求面积的方法就行了,不需要求一个图形的面积,在一个图形的类里面定义一个方法,而去实现这个方法,这样就可以简化大量的代码
------解决方案--------------------
强行让自己使用接口。
------解决方案--------------------
想了解接口的好处最好看一下C++的多重继承。

OOP的标准不允许类的多重继承,但C++的多重继承确实有很多优点,例如多态的应用。Java设计者不想违背OOP标准,但又想保留多重继承的优点,所以就增加了一个可以多重继承的接口。(PS:接口并不是OOP标准中定义的概念)

不过,个人感觉接口在代码复用上的作用确实没有C++的多重继承大。
------解决方案--------------------
建议楼主随着学习的加深,对面向对象思想有所了解后,看看设计模式,那时候关于接口的疑问就迎刃而解了
------解决方案--------------------
呵呵 接口说白了就是让程序更灵活,扩展性更加,一个接口可以有任意多个实现类,这几个实现类随你换。。。
------解决方案--------------------
接口就是标准;java中有面向接口编程,就是为了提高代码的灵活性、易扩展性。
------解决方案--------------------
个人理解:接口和抽象类这种抽象的东西,在你开发小的项目的时候可能是体会不到它的好处,也可以不用它们。但是当你开发一个比较大的项目,就不得不去考虑你的架构,这时候它们的好处就体现出来了(例如面向对象的特征中的继承和多态),我感觉用到了接口或者抽象类,很可能就是用到了某种设计模式,而设计模式这些东西可以先大概看一下,写代码多了自然就会去考虑这些东西了,到时候再看这些就很顺理成章了。
------解决方案--------------------
接口是许多类的共性之一。提取出来。是为了让整个体系看起来不那么臃肿。 直白点说就是为了优化体系结构!