我是菜鸟 问个关于接口弱智的问题

selaginella 2012-09-23 04:41:50
本人上大二,刚学到java接口,现在我在想为什么java要有接口啊?接口里面的方法只有定义,却没有具体的实现,当一个类实现一个接口的时候还得实现接口中的方法,那就不如在类中直接定义一个方法,然后去调用这个方法得了。可能我问的问题比较弱智,大家勿喷。。。。。
...全文
245 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
pkjjun2012 2012-09-24
  • 打赏
  • 举报
回复
接口是许多类的共性之一。提取出来。是为了让整个体系看起来不那么臃肿。 直白点说就是为了优化体系结构!
rockets311 2012-09-24
  • 打赏
  • 举报
回复
个人理解:接口和抽象类这种抽象的东西,在你开发小的项目的时候可能是体会不到它的好处,也可以不用它们。但是当你开发一个比较大的项目,就不得不去考虑你的架构,这时候它们的好处就体现出来了(例如面向对象的特征中的继承和多态),我感觉用到了接口或者抽象类,很可能就是用到了某种设计模式,而设计模式这些东西可以先大概看一下,写代码多了自然就会去考虑这些东西了,到时候再看这些就很顺理成章了。
liangtu 2012-09-24
  • 打赏
  • 举报
回复
接口就是标准;java中有面向接口编程,就是为了提高代码的灵活性、易扩展性。
chengxu2011 2012-09-24
  • 打赏
  • 举报
回复
呵呵 接口说白了就是让程序更灵活,扩展性更加,一个接口可以有任意多个实现类,这几个实现类随你换。。。
selaginella 2012-09-24
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
接口是许多类的共性之一。提取出来。是为了让整个体系看起来不那么臃肿。 直白点说就是为了优化体系结构!
[/Quote]恩恩 谢谢了!!!!
selaginella 2012-09-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
建议楼主随着学习的加深,对面向对象思想有所了解后,看看设计模式,那时候关于接口的疑问就迎刃而解了
[/Quote]恩恩 谢谢!!! 现在上学根本没怎么做过什么项目,老师上课讲的东西都是太基本的,老师的水平也不行!!!
ps: 我水平更不行。。。
selaginella 2012-09-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
其实接口就是定义一种规范,举个简单的例子吧,假如你要求各种图形的面积,你就可以定义一个实现求面积的接口,这样你具体求哪一个图形的面积,你只需要实现这个接口里面定义的求面积的方法就行了,不需要求一个图形的面积,在一个图形的类里面定义一个方法,而去实现这个方法,这样就可以简化大量的代码
[/Quote]定义了一个接口,然后在图形类中实现接口中的方法和在一个图形中定义一个求面积的方法可以简化大量的代码吗???我怎么感觉没有简化多少代码啊!!!方法都需要重新实现。。。不是么???
郭梧悠 2012-09-24
  • 打赏
  • 举报
回复
建议楼主随着学习的加深,对面向对象思想有所了解后,看看设计模式,那时候关于接口的疑问就迎刃而解了
Alexander 2012-09-23
  • 打赏
  • 举报
回复
想了解接口的好处最好看一下C++的多重继承。

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

不过,个人感觉接口在代码复用上的作用确实没有C++的多重继承大。
copaer 2012-09-23
  • 打赏
  • 举报
回复
强行让自己使用接口。
zww8598965 2012-09-23
  • 打赏
  • 举报
回复
依小弟的看法是:接口是对功能类的一个功能的扩张,是“has-a”的关系
zhaoming262350 2012-09-23
  • 打赏
  • 举报
回复
其实接口就是定义一种规范,举个简单的例子吧,假如你要求各种图形的面积,你就可以定义一个实现求面积的接口,这样你具体求哪一个图形的面积,你只需要实现这个接口里面定义的求面积的方法就行了,不需要求一个图形的面积,在一个图形的类里面定义一个方法,而去实现这个方法,这样就可以简化大量的代码
清墨无痕 2012-09-23
  • 打赏
  • 举报
回复
接口有规范某个方法,让子类一定要实现这个方法,还有接口可以同时实现多个,而类只能继承一个
weiryou10 2012-09-23
  • 打赏
  • 举报
回复
好处大大的
selaginella 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
定义接口,其实某种意义也是定义了一种规范,允许实现其本身类要遵循一某种约定,但是具体的实现千差万别。这就该实现接口的类自己定义了。
[/Quote]恩恩 谢谢了 现原来是这样额,感觉是明白了不少
selaginella 2012-09-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
因为有些时候 类里面你不知道有什么方法, 比如 我可以先写一个打人的接口, 那你那个类需要打人的继承这个接口就可以。

还有接口定义好了方法,实现它的类就必须实现它的方法,这样你的类就不会缺少某种必须的方法了,方便以后的扩展和维护
[/Quote]恩恩 谢谢了!! 现在感觉是懂了不少。。。
a8509190 2012-09-23
  • 打赏
  • 举报
回复
因为有些时候 类里面你不知道有什么方法, 比如 我可以先写一个打人的接口, 那你那个类需要打人的继承这个接口就可以。

还有接口定义好了方法,实现它的类就必须实现它的方法,这样你的类就不会缺少某种必须的方法了,方便以后的扩展和维护
zly361814478 2012-09-23
  • 打赏
  • 举报
回复
定义接口,其实某种意义也是定义了一种规范,允许实现其本身类要遵循一某种约定,但是具体的实现千差万别。这就该实现接口的类自己定义了。
ygyz03 2012-09-23
  • 打赏
  • 举报
回复
还有一种接口称为标识接口,这种接口里面没有任何方法。只表示实现该接口后,就具有了某种能力,如Cloneable、Serializable接口。
selaginella 2012-09-23
  • 打赏
  • 举报
回复
好吧。。谢谢了哈 !!!刚才看了置顶的帖子就是说接口的好处的,看看还是似懂非懂。可能是自己学的还是比较浅吧!!!
加载更多回复(1)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧