社区
Java SE
帖子详情
[请进]大家能不能说说抽象类和接口的异同.....up有分!
stars_of_leo
2004-04-25 04:20:01
同题,
再说说它们各自的优势是什么,
还有就是一般在什么时候用抽象类,
什么时候用接口?
五一前结帖.
...全文
159
52
打赏
收藏
[请进]大家能不能说说抽象类和接口的异同.....up有分!
同题, 再说说它们各自的优势是什么, 还有就是一般在什么时候用抽象类, 什么时候用接口? 五一前结帖.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
52 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
game0ver12345
2004-04-27
打赏
举报
回复
回复人: allenhe() ( ) 信誉:100 2004-04-26 23:35:00 得分:0
没有方法的接口是标示接口,例如java.io.Serializable
game0ver12345(sfsfdsfdsdfsf) ( )
我会C++
============================================
第一句话对。
“我会C++”,不懂你想对我说什么
zijibense
2004-04-27
打赏
举报
回复
up
game0ver12345
2004-04-26
打赏
举报
回复
实际上,即便你不声明为static final,java一样会把它当作static final量来处理
=======================================================
不同意这句话。
你说说这句话的道理,为什么会是这样?
koskinen
2004-04-26
打赏
举报
回复
问题的中心是多重继承的问题
allenhe
2004-04-26
打赏
举报
回复
我估计他还不太明白接口和抽象类到底什么区别
我认为接口不应该和实现多继承扯在一起
简单地说,不用为了多继承而多继承
就好比不会为了delegate而delegate一样
紫黑蓝白
2004-04-26
打赏
举报
回复
恩,我也喜欢这砖头:《java与模式》
看过后,对接口和抽象类的使用有了新的认识。。。
虽然都推荐使用借口,少用抽象类。但抽象类的优点也是接口不可代替的!
allenhe
2004-04-26
打赏
举报
回复
没有方法的接口是标示接口,例如java.io.Serializable
game0ver12345(sfsfdsfdsdfsf) ( )
我会C++
wingofsea
2004-04-26
打赏
举报
回复
up!!!
game0ver12345
2004-04-26
打赏
举报
回复
回复人: andy100085(铁桶师傅) ( ) 信誉:100 2004-04-26 22:33:00 得分:0
不理接,为什么要引进接口?
有些时候,某接口里只有一个方法 public String getValue()
直接在你要实现的类里,实现这个方法不就得了,干吗非得继承一下该接口,
再给出实现,费这么多时间???
========================================================
极有可能不止一个类存在这个方法public String getValue()
新来的萌新
2004-04-26
打赏
举报
回复
不理接,为什么要引进接口?
有些时候,某接口里只有一个方法 public String getValue()
直接在你要实现的类里,实现这个方法不就得了,干吗非得继承一下该接口,
再给出实现,费这么多时间???
还有有些接口里根本就没有方法,就更奇怪了!!???
那位高手解释一下?很是一个迷惑????
game0ver12345
2004-04-26
打赏
举报
回复
举个例子:
一把刀是武器也是厨具。好象用多继承比较好。
所以刀有厨具的所有属性和方法,也有武器的所有属性和方法。
game0ver12345
2004-04-26
打赏
举报
回复
举个例子:
一把刀是武器也是厨具。好象用多继承比较好。
game0ver12345
2004-04-26
打赏
举报
回复
回复人: allenhe() ( ) 信誉:100 2004-04-26 20:12:00 得分:0
何必一定要多继承呢?
=======================================
有时一些类用多继承比单继承更好的表达出他们的实际关系。
AsukaE
2004-04-26
打赏
举报
回复
接口类似于一个完全的抽象类,但是绝不是抽象类
因为接口本身就不属于类集
打个或许并不准确的比方
如果我们把类集隐喻为整个社会的话
那么接口就相当于这个社会的社会地位
以上浅见,有不当之处还请指正
allenhe
2004-04-26
打赏
举报
回复
何必一定要多继承呢?
allenhe
2004-04-26
打赏
举报
回复
那我的解释也未必正确
那我用自己的理解打个比方
比如说插头
插头和插座不一定是同一个厂家生产的,而且生产插头的厂家很多。
但是所有厂家生产的总是3眼,2眼插头
即便是不同厂家生产的插头插座,那总是能够搭配一起使用
在这里插头的针脚的粗细,位置,以及它的标称电压功率,我们就可以理解成为一个接口(interface)
插座厂家无需知道插头是如何设计的,他只知道这种型号的针脚位置大小以及技术参数总是一样的,因此它只需针对这些参数去操作。
换句话说接口定义了一系列方法,调用类无需关心它里面做了一些什么,而只需要知道这个方法完成这个功能就可以了,比较典型的应该是各种listener
接下来还是用插头吧,插头的针脚和技术参数往往是固定的(可以理解为实现implements了这种接口),但是里面的电路设计各个厂家都是不同的。
那不同的厂商可能有各种型号的产品,但是为了节省开发周期和原材料,他们规定了自己产品的一种设计原则,同时把共同的一些模块做成了通用配件,我们可以把这个行为理解成一种抽象类(abstract class)
具体的各个型号可能不同程度的利用到了那些通用配件,不过设计人员也不需要知道那些通用配件的具体逻辑,他只知道这个配件完成这个功能,几个配件搭配可以完成一个电路逻辑就可以了。当然,再复杂一点说,厂商规定了通用配件必须和一些配件搭配使用,这些配件是各个产品不同的,比如便宜的可以用便宜的原材料,贵得可以用贵金属做。通用配件和自定义配件无需知道对方如何设计,只需要完成自己所规定的功能就可以了
这个可以理解为在非abstract方法调用abstract方法。
打字太累。。
game0ver12345
2004-04-26
打赏
举报
回复
回复人: allenhe() ( ) 信誉:100 2004-04-26 12:57:00 得分:0
我估计他还不太明白接口和抽象类到底什么区别
我认为接口不应该和实现多继承扯在一起
简单地说,不用为了多继承而多继承
就好比不会为了delegate而delegate一样
==========================================================
在JAVA里,只能用接口实现多继承。
“我估计他还不太明白接口和抽象类到底什么区别”,这句话好像是多余的,因为如果楼主懂,很有可能就不发这个帖子了。^_^
Kosling
2004-04-26
打赏
举报
回复
我总觉得接口有点象协议集合?!
sylmoon
2004-04-26
打赏
举报
回复
to 楼主:
我正好也想问这个问题的~
to allenhe() :
有很多初学者在里面,可是你这样让大家很不舒服
既然不懂抽象类和接口,你为什么不能好好解释一下呢?
minghuitian
2004-04-26
打赏
举报
回复
up!
加载更多回复(32)
跟汤老师学Java(第9季):
抽象类
和
接口
本课程从零开始,以通俗易懂的方式讲解Java入门,手把手教你掌握每一个知识点,真正做到零基础入门学习,最适合初学者的教程! 课程内容包括: 1.final关键字 2.
抽象类
3.练习:租车系统 4....
接口
和
抽象类
的比较
自制面试宝典
1.
抽象类
和
接口
的区别
抽象类
: 含有abstract修饰符的class即为
抽象类
。 特点: 1.
不能
创建的实例对象 2.可以有抽象方法 3.可以有构造方法,但构造方法
不能
是抽象的 4.抽象方法必须子类进行实现,如果...
【精】JAVA基础进阶知识汇总-HELLO XF
Java 语言目前定义了 51 个关键字,这些关键字
不能
作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。 流程...
【转】程序员面试之葵花宝典
1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括...
Hook Com
接口
函数
标 题: 【原创】COM
接口
函数通用Hook方法 作 者: zhangluduo 时 间: 2014-12-08,22:34:20 链 接: http://bbs.pediy.com/showthread.php?t=195371 本文是我的本科学位论文, 今发表在此, 以示原创之据 ...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章