`

JAVA为什么只允许单继承

 
阅读更多

一个类只能继承一个其他的类
     在Java语言中禁止多重继承:一个类可以具有多个直接父类。多重继承不合法的原因是容易引发意义不明确。例如,有一个类C,如果允许它同时继承A类与B类(class C extends A,B{}),假如A、B两个类都有同一种方法fun(),如果定义:
     C c = new C();
     那么c.fun()应该调用哪一个父类的fun()方法?无法给出答案,因此Java语言禁止多重继承。 但C++却是可以的,所以C++比起java在语法上却难了些。

     但一个类可以实现多个接口,这又是为什么?
     这一特性和上一特性结合使用,可以获得和多重继承相似的效果。
     现假如类C实现了A与B两个接口(class c implements A,c{}),且这两个接口都有一个抽象fun()方法,现在调用方法时没有任务不明确的地方,因为接口中的所有方法都是抽象,并且超类的任何方法都需在子类中地覆盖实现,所以调用时其实是调用自己本身的实现方法,没有什么调用不明确的说法。

 

来自:http://sishuok.com/forum/blogPost/list/3645.html

分享到:
评论

相关推荐

    JAVA中什么是继承.docx

    继承的特点:只需明确一点,java 只支持单继承,不支持多继承,但支持多重继承。 Java 中继承的实现方式有两种: 1. 单继承:一个子类只能继承一个父类。 2. 多重继承:一个子类可以继承多个父类,但 Java 语言中...

    详解java为什么不允许类多重继承却允许接口多重继承

    主要介绍了java为什么不允许类多重继承却允许接口多重继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    java继承例题

    1. 单继承:Java只支持单继承,即一个类只能继承一个超类。 2. 多层继承:Java支持多层继承,即一个类可以继承另一个类,该类又可以继承另一个类,以此类推。 3.继承变量和方法:子类继承了超类的成员变量和成员方法...

    java子类的继承性

    知道子类的继承性,子类创建对象的过程,成员变量的继承和隐藏,方法的继承和重写。

    java 类的继承 基础理解

    Java 语言中的继承机制允许一个类继承另一个类的属性和行为,实现代码的重用和继承关系建模。在 Java 中,继承是通过使用 `extends` 关键字来实现的,格式为 `public 子类 extends 父类{}`。 继承的优点: 1. 代码...

    Java语言程序设计ppt第十一章(继承和多态)

    继承是一种机制,允许一个类继承另一个类的属性和方法,从而避免代码的冗余和提高代码的重用性。在Java中,使用extends关键字来继承父类。 二、继承的应用 继承的应用有很多,例如,设计一个类来对圆、矩形和...

    java继承和多态PPT教案学习.pptx

    继承是面向对象编程的基本机制之一,允许一个类继承另一个类的成员变量和方法。Java中,继承是通过extends关键字实现的。子类可以继承父类的成员变量和方法,并可以添加新的成员变量和方法或覆盖父类的方法。 在...

    java类的继承实例

    继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为

    Java继承时构造函数的调用

    Java继承时构造函数的调用, java面向对象特征: 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    轻松学Java之继承与多态优秀PPT.pptx

    Java支持单继承和多层继承,但不支持多重继承,即一个类只能继承一个父类。Java类的继承可以用图8.1所示的语法来实现。 在继承中,子类可以继承父类的成员变量和成员方法,但也可以覆盖父类的成员变量和成员方法。...

    Java面向对象继承.pdf

    使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。 super 与 this 关键字 super关键字:对父类成员的访问;this关键字...

    java类的继承与多态.docx

    java类的继承和多态是java面向对象编程的基本特征,它们允许我们创建出具有继承关系的类之间的关系,实现代码重用和提高开发效率。在实际开发中,我们可以使用继承和多态来实现不同的功能和行为。 继承的优点: * ...

    JAVA 继承和多态实验报告.pdf

    在Java中,继承是一种机制,允许一个类继承另一个类的成员变量和方法。继承的目的是为了实现代码的重用和提高代码的灵活性。通过继承,可以将公共的成员变量和方法提取出来,放在父类中,然后在子类中继承父类的成员...

    Java面向对象(进阶)特征之二:继承性

    继承性是 Java 面向对象编程中的一种基本机制,允许一个类继承另一个类的属性和方法,从而减少代码冗余,提高代码的复用性和可维护性。 一、继承的概述 继承的概念来自于生活中,例如财产继承和颜值继承。在 Java ...

    JAVA中的继承与抽象

    JAVA中的继承与抽象 继承是面向对象编程的基本特征之一,它允许在已有的类基础上创建新的类,并继承已有类的成员变量和成员方法。继承的概念定义是:当类与类之间存在相同(共性)的内容,并满足子类是父类中的一种...

    Java方法继承、方法重载、方法覆盖小结.doc

    方法继承是 Java 编程语言的一种机制,允许一个类继承另一个类的属性和方法。使用 `extends` 关键字,可以继承一个类的所有公有、保护和默认级别的变量和方法。如果子类和基类在同一个包中,子类可以继承基类中的...

    继承和接口和java访问权限修饰符总结.doc

    继承是 Java 中的一种机制,允许子类继承父类的属性和方法,並且可以对父类的方法进行重写或重载。动态绑定是指在运行时确定方法的调用,而不是在编译时。多态性是通过继承和方法重写来实现的。 一、继承 继承是 ...

    java试题经典考试试题

    Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble

    java的继承.docx

    在Java中,继承是一种重要的面向对象编程(OOP...它允许一个类从另一个类派生,并且获取被继承类的属性和方法。通过继承,可以创建层次化的类结构,提高代码可重用性和可维护性。下面是对Java继承进行超级详细的介绍。

    java概述课件11继承和多态.ppt

    继承是 Java 语言中的一种机制,允许开发者创建一个新的类,并继承现有类的特性。继承的目的是使代码更加简洁、灵活和可维护。继承的优点包括:减少代码冗余、提高代码重用性和灵活性。 在 Java 中,继承使用 `...

Global site tag (gtag.js) - Google Analytics