社区
Java SE
帖子详情
抽象类和接口有什么区别,区别在那里?
lqtflwg718
2004-06-24 04:27:07
抽象类和接口有什么区别,区别在那里?
...全文
246
21
打赏
收藏
抽象类和接口有什么区别,区别在那里?
抽象类和接口有什么区别,区别在那里?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stcbc
2004-06-30
打赏
举报
回复
接口中只有方法的声明,而方法中没有具体的代码
在java 中的多重继承是指利用接口来实现多重继承,不象 C++ 中的类可以直接实现多重继承
dawei71141812003
2004-06-30
打赏
举报
回复
说简单点,如果你的类已经继承了一个类,可现在还要再继承另一个类怎么办?只能通过接口
luiss
2004-06-30
打赏
举报
回复
mark
liverpoolfc
2004-06-29
打赏
举报
回复
1.抽象类只能继续一个,而接口可以多重继承
2.接口绝对不能带有任何“实现细目”,而抽象类可以带有“含实现细目的方法”,打个比方,现在你要设计一个类,而根据你的分析,要继承这个类的所以子类中,全部或者大部分都包含有一摸一样的处理方法,那么,你就可以在抽象类中直接提供这个“公用”的方法,免得产生代码重复编写。而接口,是实现“隐藏细目”,实现“多态”,实现“向上转型”,和为拥有共同特点的类定制“协议”的技术。
pleonheart
2004-06-29
打赏
举报
回复
抽象类涉及实现
shine333
2004-06-29
打赏
举报
回复
接口完全与实现无关,只告诉你能做什么,却永远不告诉你怎么做
抽象类则不一定,有时可用其中非抽象部分,实现诸如流程控制的事情,
而且,抽象类会丧失一定的灵活性,并且有时会是致命的
interface UserInfo {
String getProperty(String key);
}
class DefaultUserInfo implements UserInfo {
Map properties = new HashMap();
public String getProperty(String key) {
return properties.getProperty(key);
}
}
abstract class UserInfo2 extends HashMap {
}
class DefaultUserInfo2 extends UserInfo2 {
}
对于2而言,getProperty方面和1比较,没有丝毫差别,但是由于DefaultUserInfo2必然是个HashMap,因此,谁都可以无限制地使用HashMap中的set/put方法
holy_phoenix
2004-06-29
打赏
举报
回复
1、接口提供了一种多充继承的方式,因为你能够实现多个接口。而一个类之能够从另外一个类扩展,哪怕父类只有抽象方法。
2、抽象类可以实现部分方法、静态方法等等。而接口只能用公共方法。
blasterboy
2004-06-25
打赏
举报
回复
抽象类,一般来说都是为接口来实现 默认实现的。也就是给借口来实现一些方法,这样子类只关心他们应该实现的方法
blasterboy
2004-06-25
打赏
举报
回复
接口可以让你成为多个类型,比如有个接口叫父亲,有个接口厨师,那么只要你实现了这两个接口,你就有两个类型,这样,不管是用到父亲,还是用到厨师的地方,你都可以。
抽象类,其实和普通的类是一样的,只不过它有一些方法没有实现,而强迫子类去实现,这样不同的子类,就会有不同的实现,这样实现了多态!
其实借口实现多态是最理想的:)
jxufewbt
2004-06-25
打赏
举报
回复
一个是class,一个是interface
hl_longman
2004-06-25
打赏
举报
回复
这是基本概念,当然要知道。
接口是空的方法,可以被其它的类根据自己的要求来实现它;
抽象类是类,它有一些没有实现的空方法,给它的子类去实现;
panzhiwei(panzhiwei008) 也讲得不错!
不过你的有些问题还是很简单的,要多看点基础的书!!
bestdelphier
2004-06-25
打赏
举报
回复
不必太过深究,反正我是不了解,感觉楼上回答问题的诸位也未必就那么了解,不过是搬了书上的那几句而已。^_^
panzhiwei
2004-06-25
打赏
举报
回复
因为JAAV里面不支持多继承,所以一个类只能有一个直接的超类,但是可以通过接口实现多继承.抽象类是没有具体对象的概念类,它是所有子集的公共属性的集合,充分利用这些公共属性可以提高开发和维护程序的效率.
lqtflwg718
2004-06-24
打赏
举报
回复
能不能说的详细点啊通俗点的啊!
我就是不明白有什么不同啊?
lzhang5200
2004-06-24
打赏
举报
回复
在Java中,一个类只能有一个父类,而一个接口可以有多个父接口。
snoopydotnet
2004-06-24
打赏
举报
回复
据我所知,接口有接口的优势——多重继承;抽象类有抽象类的优势——可以定义Feild。你若是要问我为何语法是这样,那就去研究一下【Design Pattern】吧!
lqtflwg718
2004-06-24
打赏
举报
回复
不是吧看书。看了多少遍了!
yaray
2004-06-24
打赏
举报
回复
看书
lqtflwg718
2004-06-24
打赏
举报
回复
多重继承有什么用啊? 不知道啊!
只知道多重继承是一个子类继承多个父类, 到底怎么一回事搞不大清楚啊!
binny
2004-06-24
打赏
举报
回复
一个是类,一个是接口
加载更多回复(1)
抽象类
与
接口
的
区别
抽象类
与
接口
的
区别
,
抽象类
与
接口
的具体应用
JAVA面试题目:Java中的
抽象类
和
接口
有什么
区别
?
题目:Java中的
抽象类
和
接口
有什么
区别
?
第13讲 谈谈
接口
和
抽象类
有什么
区别
?1
接口
是对行为的抽象,它是抽象方法的集合,利用
接口
可以达到 API 定义和实现分离的目的。除了不能实例化,形式上和一般的 Java 类并没有太大
区别
,可以有一个或
2017Java常考面试题 下载
接口
和
抽象类
的
区别
是什么? 参考答案 Java提供和支持创建
抽象类
和
接口
。它们的实现有共同点,不同点在于:
接口
中所有的方法隐含的都是抽象的。而
抽象类
则可以同时包含抽象和非抽象的方法。 类可以实现很多个
接口
,...
Think in Java(中文版)-chm格式
1.6.2 抽象的基础类和
接口
1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 ...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章