java接口和抽象类的区别
2017-08-08 14:05
337 查看
抽象类和接口的区别?
1、成员区别:
抽象类:
成员变量:可以是变量,也可以是常量
成员方法:可以抽象,也可以非抽象
构造函数:有
接口:
成员变量:只能是常量
成员方法:只可以抽象
构造函数:没有构造函数
2、关系区别
类与类:继承,单继承
类与接口:实现,单实现,多实现
接口与接口:继承,单继承,多继承
3、设计理念区别
抽象类:抽象类中定义的是该继承体现的共性功能。
接口:接口重定义的是该继承体系的扩展功能。
比如猫和狗,都是动物。都具有性别、年龄等属性,同时具有吃饭方法,但是吃的内容不一样,我们可以把它定义成一个抽象方法。
但是不是所有的猫都会挖洞,只有狗可以挖洞,对于狗是特有的。
所以可以把性别,年龄和吃饭都定义在动物抽象类中,而把挖洞方法定义成一个接口,把具有这个功能的才实现这个功能,不是所有都具备的。
1、成员区别:
抽象类:
成员变量:可以是变量,也可以是常量
成员方法:可以抽象,也可以非抽象
构造函数:有
接口:
成员变量:只能是常量
成员方法:只可以抽象
构造函数:没有构造函数
2、关系区别
类与类:继承,单继承
类与接口:实现,单实现,多实现
接口与接口:继承,单继承,多继承
3、设计理念区别
抽象类:抽象类中定义的是该继承体现的共性功能。
接口:接口重定义的是该继承体系的扩展功能。
比如猫和狗,都是动物。都具有性别、年龄等属性,同时具有吃饭方法,但是吃的内容不一样,我们可以把它定义成一个抽象方法。
但是不是所有的猫都会挖洞,只有狗可以挖洞,对于狗是特有的。
所以可以把性别,年龄和吃饭都定义在动物抽象类中,而把挖洞方法定义成一个接口,把具有这个功能的才实现这个功能,不是所有都具备的。
相关文章推荐
- java接口与抽象类的区别
- JAVA接口和抽象类有什么区别
- java接口和抽象类的区别
- java接口和抽象类的区别
- java接口与抽象类的区别之缺省适配模式 .
- 对java接口和抽象类的理解与区别
- java接口和抽象类到底有哪些区别,什么时候该用接口什么时候该用抽象类
- java接口与抽象类的区别
- Java接口和抽象类有什么区别,什么时候用接口好,什么时候用抽象类好?
- 浅析Java接口与抽象类的区别
- Java接口和抽象类有什么区别,什么时候用接口好,什么时候用抽象类好?
- Java接口 和 抽象类 的区别
- Java接口和抽象类的区别
- Java接口和抽象类的区别?(抽象类中可以定义变量)
- java接口和抽象类的区别
- Java接口和抽象类的区别
- Java接口和抽象类的区别
- java接口和抽象类的区别
- Java接口和抽象类有什么区别,哪些时候用接口,哪些时候用抽象类?
- java接口和抽象类的区别