java 多重继承

class A{

void eat(){}

}

class B{

void eat(){}

}

class C extends A,B{}

public static void main(String[]args){

  C c=new C();

}

假如上述存在多继承,那么(当多个父类定义相同的成员时,无法确定继承哪个方法,所以存在安全隐患)

时间: 2024-11-08 23:40:29

java 多重继承的相关文章

关于java的final、接口、内部类细节

一.final关键字 final关键字大概可以分成三部分讨论:final数据.方法.类 首先是数据: final数据在恒定不变的时候是很有用的,比如: 1.一个永不改变的编译时常量 2.一个在运行时被初始化的值,而你不希望它被改变 而一个static final的域只是占据一段不能改变的存储空间 细节: 1.如果是final的基本数据类型:那么这个数值是恒定不变,而final的对象引用,那么这个引用是不能改变,但是引用里面的内容是可以被修改的,如: final int[] a = {1.2.3.

ThinkInJava之内部类

一:内部类概述 将一个类的定义放在另一个类的内部,这就是内部类.内部类是Java一种非常有用的特征,因为他允许你把一些逻辑相关的数据组织在一起,并控制它的可见性.二:内部类的创建 我们都知道类的创建语法如下 [public |...] class 类名 [implements|....]{ 定义属性(注意不同的修饰符(如public ....)) 定义方法语法(构造方法或普通方法) } 而内部类的创建就是把该类放在同属性或方法内定义例如 public class OutClass{ (修饰符)c

Java提高篇——Java实现多重继承

阅读目录 一. 接口二.内部类 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承.有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要思考的不是怎么使用多重继承,而是您的设计是否存在问题.但有时候我们确实是需要实现多重继承,而且现实生活中也真正地存在这样的情况,比如遗传:我们即继承了父亲的行为和特征也继承了母亲的行为和特征.可幸的是Java是非常和善和理解我们的,它提供了两种方式让我们曲折来实现多

为什么java不支持多重继承?

什么是钻石问题?如下图所示,B和C继承于A,D继承B和C(多重继承),在D中调用A的方法时,无法判断是调用B中的实现还是C的实现,下图继承关系是个菱形,所以该问题又叫做菱形问题. 如果java要解决这个问题,需要引入更复杂的机制,这和java 的初衷是背道而驰的(simple),但是java中可以实现多个接口,这与多重继承是非常相似的. 为什么java不支持多重继承?,布布扣,bubuko.com

java 中的多重继承

Java中的接口不仅仅是一种更纯粹的抽象类,它的目标比这更高.因为接口是根本没有任具体实现的.也就是说,没有任何与接口相关的存储:因此,也就无法阻止多个接口的组合.这一点是很有价值的,因为你有时候需要去表示"一个X是一个a和一个b以及一个c".在C++中,组合多个类的接口的行为被称作为多重继承.它可能会使你背负很沉重的包袱,因为每个类都有一个具体实现.在java中,你可以执行相同的行为,但是只有一个类可以有具体的实现:因此通过组合多个接口,c++的问题不会在java中发生: 下面展示一

java中接口与多重继承的关系

在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意.其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理解.对于设计意图的理解是否正确.合理

Java实现多重继承:

Java没有多重继承,C++有,不过Java提供了Interface.extends和implement,多重继承的效果还是可以的: 1 /** 2 * Created by Franklin Yang on 2015.10.23. 3 */ 4 5 // 6 interface Base { 7 public void method1(); 8 } 9 10 interface aI extends Base{ 11 public void method2(); 12 public void

java 多态与多重继承

/** * java 中的每一中操作,操作的数据类型必须合法.父类有的方法子类都有 * 凡是能够使用父类生成对象的地方都可以使用子类生成对象. * * 多态性 * 是指允许不同类的对象对同一消息作出响应. * 多态性包括参数化多态性和包含多态性.多态性语言具有灵活. * 抽象.行为共享.代码共享的优势,很好的解决了应用程序函数同名问题. * 多态有两种表现形式:重载和覆盖 * 首先说重载(overload),是发生在同一类中.与什么父类子类.继承毫无关系. * 标识一个函数除了函数名外,还有函数

Java 利接口来实现多态的情况, 和利用接口实现多重继承!

其中是利用, 正方形, 长方形, 圆形:来继承接口All 接口, 来实现All的情况. 少说废话,上代码: import java.util.*; interface S { void s(); } interface C { void c(); } interface All extends S,C { //这是实现接口的多重的继承 } class Square implements All { private double length = 1; public void s(){ Syste