您的位置:首页 > 编程语言 > Java开发

浅析Java接口与抽象类的区别

2016-10-25 22:19 232 查看
Java中接口interface和抽象类abstract class很相近,从某种意义上说,接口可以看做“多重继承”。但是两者之间还是有很大的区别的。

接口中的方法一定均为抽象方法(public abstract),且接口中的成员变量只能是public static final类型的,接口不能有静态方法。抽象类中至少有一个抽象方法就可以了,而且抽象类中允许有各种类型的成员变量,也可以有静态方法。
接口是对行为的抽象,实现的是“has a”的关系;抽象类是对事物的抽象,实现的是“is a”的关系。
一个类可以实现多个接口,但是只能继承一个抽象类。
接口是一种辐射式设计,即一旦接口发生了变化,则所有实现这个接口的类都必须进行相应的改动。而抽象类则是一种模板式设计,对于抽象类来说,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,不需要改变子类。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 继承