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

java接口和抽象类的区别

2017-08-08 14:05 337 查看
抽象类和接口的区别?

1、成员区别:

抽象类:

成员变量:可以是变量,也可以是常量

成员方法:可以抽象,也可以非抽象

构造函数:有

接口:

成员变量:只能是常量

成员方法:只可以抽象

构造函数:没有构造函数

2、关系区别

类与类:继承,单继承

类与接口:实现,单实现,多实现

接口与接口:继承,单继承,多继承

3、设计理念区别

抽象类:抽象类中定义的是该继承体现的共性功能。

接口:接口重定义的是该继承体系的扩展功能。

比如猫和狗,都是动物。都具有性别、年龄等属性,同时具有吃饭方法,但是吃的内容不一样,我们可以把它定义成一个抽象方法。

但是不是所有的猫都会挖洞,只有狗可以挖洞,对于狗是特有的。

所以可以把性别,年龄和吃饭都定义在动物抽象类中,而把挖洞方法定义成一个接口,把具有这个功能的才实现这个功能,不是所有都具备的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java