Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
作者 | Re:<我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! [Re:zoudejian123] |
ranchgirl
版主 发贴: 801 积分: 132 |
于 2005-11-17 02:48
Abstract Class:抽象类 Class:类,包括抽象类。 学 Java 的人,或学 OO 编程的人,都是要弄清楚这两个概念的区别。 现将我的观点说一下。 在OO中,Interface 和Abstract Class 是两个不同的概念。 1。Abstract Class类似于 Abstract Data Type(抽象数据类型),它定义了它所有的subclass(子类)应该有的特性,就是在Abstract Class 中声明方法和变量。如定义一种抽象类型:车。那么在Java中,就要在class或method上加上 abstract。举个例:
这个抽象类就声明了所有的车应有的特征(如轮子)和行为(如移动)。之后你就可以扩展(extend)这个抽象类,只要是车,就可以,还有你可以在子类(subclass)中加入自己的特征,如
2。Interface 则用来定义一个协议,所有的方法都可以实现它。一个Interface定义了方法,和最终静态(final static)变量,所有实现这个Interface的都要保证实现的东西与这个Interface 定义的行为一致。使用Interface可以让Object(对象)在一定的规范下沟通。 如
这样的话,只要实现这个Interface的都可以使用这两个方法交流。 在 Java平台里,它们主要有3个不同点: 1。一个类(Class)只能继承一个超类(Super class),但是可以实现多个Interface。 2。在Abstract Class内,你可以有不抽象(Abstract)的方法,即有意义的方法,但Interface不行。 如
3。Interface不属于 继承范围。即不可能成为超类(Super Class) (完) 这篇文章是根据Sun的FAQ中http://access1.sun.com/FAQSets/newtojavatechfaq.html 的Q13 翻译得来 。 Copied from http://bbs.chinajavaworld.com/post/view?bid=20&id=120024&sty=1&tpg=1&age=-1
why edited on 2005-11-17 09:47
|
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
11605 | <我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! | zoudejian123 | 70 | 2005-11-16 19:14 |
10681 | Re:<我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! | ranchgirl | 1744 | 2005-11-17 02:48 |
10133 | Re:<我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! | enthusiasm | 298 | 2005-11-17 17:34 |
10084 | Re:<我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! | Jcat | 1069 | 2005-11-17 18:00 |
10002 | <>谢谢!! 特此感谢斑竹!! | zoudejian123 | 5 | 2005-11-17 20:59 |
10487 | Re:<我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! | Jcat | 0 | 2005-11-17 21:17 |
9897 | Re:<我是新手>请解答一下接口和抽象类的区别好吗?谢谢!! | wangyabing | 64 | 2005-12-29 16:50 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |