~~~“接口”和“抽象内”的区别~~~

windylu 2003-10-16 04:24:02
他们的语法等我知道,但不知道在什么场合下使用。最重要的区别是什么?
...全文
17 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
collision 2003-10-17
  • 打赏
  • 举报
回复
大家说的很清楚了!
syanyszy 2003-10-17
  • 打赏
  • 举报
回复
一个大点的系统都是由技术领导者编写框架,编写好多接口以及抽象类
然后找一些coder来实现抽象类中要做的事情
是这样的吗 ?
alienbat 2003-10-16
  • 打赏
  • 举报
回复
抽象类可以包含实例方法,也能包含可被继承的成员变量
接口不能包含任何实例方法,而且其成员变量默认为static和final
如果你定义一个父类,不希望父类本身被实现,但希望父类含有重用的代码,那么用抽象类。
如果你只想定义一组某些类需要实现的“契约”,那么用接口。
网络咖啡 2003-10-16
  • 打赏
  • 举报
回复
基本同意楼上的观点
kinzey34 2003-10-16
  • 打赏
  • 举报
回复
我个人认为:
抽象类(abstract class)里存放着被其他子类共享的公共行为和方法,比如java.awt.Component
,它是一个抽象类,是所有AWT组件的超类,抽象类里可以包含构造、抽象方法,当然也是用 abstract来修饰,并且方法体里没有具体的实现,这一点似乎和接口很相象-------
然而接口比抽象类和抽象方法能提供更多的功能:
接口是为了解决类不能实现多重继承而出现的,通过实现接口,你可以使用到你继承的超类中所不支持的功能,比如事件监听、比如实现线程
接口中的方法也是没有具体实现,但接口和抽象类所不同的是:抽象类仍然是类,它还是从Object类继承而来,但你可以定义与Object类无关的接口,接口可以完全独立的存在;另外和类不同的是:接口自身可以多重继承!比如:
public interface subInterface extends fatherInterface1,fatherInterface2,......
我想大多数情况下,你应该使用接口,除非你要建立一个类似JAVA类库的庞大的类层次结构,那么在
顶层你可以使用抽象类

kinzey34 2003-10-16
  • 打赏
  • 举报
回复
楼上的有没搞错?人家问的是接口和抽象类的区别,不是接口和类的区别!
whyxx 2003-10-16
  • 打赏
  • 举报
回复
除了楼上的所说外,抽像类可以实现一些方法,减少子类的程序量,也就是可以将一些重要的方法直接实现,而接口不行,只能有虚方法.
honkyjiang 2003-10-16
  • 打赏
  • 举报
回复
public class Test extends A implements B,C,D{
.....................
}

A是类(或抽象类)只能继承一个 B,C,D是接口 可以继承多个interface

62,614

社区成员

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

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