Java为什么只能单继承?

就是因为C++里多重继承功能强大但是容易出错,Java才给取消掉了。如果,A和B都继承于C,再写个D继承A和B。那么C里面有个方法,A和B继承过去后都进行了覆盖,那么D到底是该继承A里面的版本呢还是B里面的版本呢?

所以才要有接口,接口里继承过来的方法都要重新写。

时间: 2024-10-16 04:00:24

Java为什么只能单继承?的相关文章

Java学习笔记-4.继承与多态

一.继承机制 1.继承:允许一个类作为另一个类的扩充版本 2.单继承:一个类只继承了一个父类    多继承:一个类继承了多个父类 Java只支持单继承,C++支持多继承 二.类的继承 1.形式: class SubClass extends BaseClass { //子类类体,定义子类的新成员 } Java中所有的类都直接或间接地继承类 java.lang.Object 2.构造方法 (1)显式构造方法    形式:super(参数表); 系统执行到这条语句时,会根据参数表判断调用父类中哪个构

黑马程序员——Java基础---面向对象之继承

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                                                 面向对象之继承  一:继承(extends) (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构.

黑马程序员——JAVA学习笔记四(继承、接口、内部类)

1,    通过extends关键字让类与类之间产生继承关系.多个类中存在相同属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需定义这些属性和行为,只要继承那个类即可,已存在的类叫做超类,基类,或父类.新类称为子类,派生类,孩子类. 子类可以直接访问父类中的非私有的属性和行为.子类无法继承父类中私有的内容.JAVA不支持多继承,只支持单继承,多实现. 继承提高了代码复用性,让类与类之间产生了关系.为多态提供了前提. 2,    super关键字代表父类中成员变量内存空间的标示.两个作用

java基础部分----3.继承、子类实例化、函数的复写

1.继承 java只支持单继承,一个子类只能继承一个父类.一个父类可以有多个子类 关键字:extends 减少重复代码 2.继承的语法特点 class Student extends Preson{ } 如果子类继承父类,同时子类在这个基础上添加自己的成员变量和成员函数 3.子类实例化 1.生成子类的过程 在子类的构造函数中,必须调用父类的构造函数(根据()传入的参数个数以及类型决定) lass Student extends Person{ int grade; Student(){ supe

Java基础小常识-继承-(10)

一.继承的好处 1.好处: 1)提高了代码的复用性 2)让类与类之间产生了关系,给第三个特征多态提供了前提 2.Java中支持单继承,不直接支持多继承,但对c++中的多继承机制进行了改良. 3.单继承:一个子类只能有一个直接父类 4.多继承:一个子类可以有多个直接父类(Java中不允许,所以进行改良),不直接支持,因为多个父类中有相同的成员,会产生调用不确定性.在Java中通过"多实现"的方式来体现 5.Java支持多层(多重)继承. 例:C继承B,B继承A,就会出现继承体系 当要使用

java语言中的继承概述

继承的好处: 1,提高了代码的复用性. 2,让类与类之间产生了关系,给第三个特征多态提供了前提. java中支持单继承,不直接支持多继承,因为多个父类中有相同成员会差生调用的不确定性,但对C++中的多继承机制,进行了改良. 单继承:一个子类只能有一个直接父类. 多继承:一个子类可以有多个直接父类(java中不允许,进行改良-----Java中通过"多实现"进行改良) java支持多层(多重)继承,就会出现继承体系. C继承B,B继承A 当要使用一个继承体系时 1,  查看体系中的顶层类

Java中 支持多继承吗?

//别人问这个问题的时候 一定要谨慎回答; 1.java中类不支持多继承,只能单继承,但是可以多实现; 2.java 中接口之间支持多继承,接口可以继承多个继承; 普通类/抽象类(只要class声明的)====================extends(继承)===================普通类/抽象类(只要class声明的) 普通类/抽象类(只要class声明的)==================implements(实现)===========接口; 接口===========

java三大特性之一继承

继承 众所周知,java是跨平台,健壮性的语言 他拥有封装,继承,多态三大特性 继承: 首先,子类继承父类之后,子类可以拥有父类的的方法,构造方法不能被继承 使用场景: 如果我们定义好几个类,每个类都拥有相同的方法或者参数, 然后我们就可以抽取相同的内容为父类,然后子类继承父类的参数或者方法,极大的提高了 代码的复用性,减少了我们的工作量 范例: public class Demo { public static void main(String[] args) { teacher t = ne

java中封装,继承,多态,接口学习总结

### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通过严格的接口控制.封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段.适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性.***封装的优点***    1  良好的封装能够减少耦合.    2 类内部的结构可以自由修改.     3 可以对成员变量进行更精