Java学习----继承和接口的区别是什么???
2015-07-16 12:42
344 查看
韩顺平是这样说:接口与继承的区别的 :
我们知道在C++中,既支持单继承又支持多继承。
而在Java中,Java只支持单继承。
但是,我们有时候,又需要使用多继承,这时该怎么办呢???
:于是:Java引出了接口机制。用接口来弥补Java不支持多继承的缺陷
。
但是,为什么Java在一开始的时候,不设计成支持多继承呢???
韩顺平老师是这样解释的:
:
().Java的继承是单继承,也就是一个类最多只能有一个父类,这种单继承的机制可保证类的纯洁性,比C++中的多继承机制简洁。
但是不可否认,对子类功能的扩展有一定的影响,所以我们认为:
1.实现接口可以看作是对继承的一种补充。
还有一点:继承时层级式的,不太灵活,这种结构修改某个类就会打破这种继承的平衡,
而接口就没有这样的麻烦,因为它只针对实现接口的类才起作用,所以:
().实现接口可在不打破继承关系的前提下,对某个类功能扩展,非常灵活。
用接口实现多态:
我们知道在C++中,既支持单继承又支持多继承。
而在Java中,Java只支持单继承。
但是,我们有时候,又需要使用多继承,这时该怎么办呢???
:于是:Java引出了接口机制。用接口来弥补Java不支持多继承的缺陷
。
但是,为什么Java在一开始的时候,不设计成支持多继承呢???
韩顺平老师是这样解释的:
:
().Java的继承是单继承,也就是一个类最多只能有一个父类,这种单继承的机制可保证类的纯洁性,比C++中的多继承机制简洁。
但是不可否认,对子类功能的扩展有一定的影响,所以我们认为:
1.实现接口可以看作是对继承的一种补充。
还有一点:继承时层级式的,不太灵活,这种结构修改某个类就会打破这种继承的平衡,
而接口就没有这样的麻烦,因为它只针对实现接口的类才起作用,所以:
().实现接口可在不打破继承关系的前提下,对某个类功能扩展,非常灵活。
用接口实现多态:
相关文章推荐
- Eclipse在线安装SVN
- Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决
- 【Java】给定直角坐标系上的两条直线,确定这两条直线会不会相交
- Ibatis + MySql+Java实例详解
- spring 定时任务执行两次
- spring 基于XML配置的Cache支持
- java简单实现链表
- spring 基于注解的Cache支持
- java静态导入
- Struts2中使用FreeMarker充当表现层
- Java StuNote 3
- Spring 之注解事务 @Transactional
- java AJAX实现级联下拉框
- Java任意时间获得该时间所在周周一
- javaweb之DTD语法
- javaweb之xml语法
- AJAX实现级联下拉框
- java 注解:SuppressWarnings、Deprecated、Override
- Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。
- windows7下Eclipse快捷键冲突