黑马程序员技术交流社区

标题: java抽象类和接口 [打印本页]

作者: 1244569409    时间: 2016-8-1 19:02
标题: java抽象类和接口
有哪位大神知道抽象类和接口的区别,我只知道他们中都有抽象方法,其他的就不清楚了,求解

作者: 堂吉诃德    时间: 2016-8-1 20:11
什么时候使用抽象类呢?

描述一类事物的时候,发现该事物确实存在着某种行为,但是目前这种行为是不具体的,这时候就应该抽取这种行为的声明,而不去实现这种行为,这时候这种行为我们把它成为抽象的行为,这时候就应该使用抽象类了.
接口只是对一个功能的一个大概叙述,对摸个功能进行规范而已。接口能被其他的接口实现,也能在某个类上实现,表象出来的是一种功能和规范。



作者: Kaweh.    时间: 2016-8-1 22:45
抽象类和接口的区别:
  相同点:都有抽象方法,都不能创建对象

不同点:1抽象类中可以有非成员方法,可以有成员变量,而接口只能有抽象方法,变量必须定义为常量。
              2 抽象类有构造方法,接口没有构造方法
              3 类是被继承的,接口是被实现的
             4 从意义上来说,接口中定义的是额外的功能,比如人类,姚明球会打篮球,并不是所有人都会打球,所以把这个方法放到抽象类中被所有人(人类)继承不合适,所以定义在接口里,让需要的类(篮球运动员)去实现。而抽象方法用于,在子类几个都需要继承这个方法时,实现的方法体不同,把这个方法定义为抽象方法比较合适。


作者: HeiMa2Wangkunpe    时间: 2016-8-2 00:09
根据我的理解 接口是一个特殊的抽象类
作者: 花陌相惜    时间: 2016-8-2 00:19
抽象类属于类,抽象类单继承
接口不属于类,接口可以单继承,多继承,多实现
抽象类、接口都有抽象方法,接口里全是抽象方法,抽象类可以有普通方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2