导航:首页 > 编程语言 > java实现多重继承

java实现多重继承

发布时间:2025-05-09 02:25:56

java 中一个子类可不可以继承多个父类如果能,怎么表示

java不支持多继承。因为多继承有背面向对象编程。但是可以继承多个接口。sun公司设计java的时候原则上不允许程序员多继承,但是还是开了个后门,你可以再一个类中写上一个或多个内部类,再让其他类来继承他,变相的也是多继承了。但是不建议这么做,非常影响程序的可读性,而且内部类处理起来不方便。

Ⅱ Java对于多重继承是怎么实现的

Java对于多重继承是怎么实现的?

  1. 首先回答这个问题之前,我需要说明下什么是继承?什么是多重继承和单继承?java采用何种机制来实现多重继承:

    1.1继承是面向对象编程的一种特性,是保留原有类功能的前提下拓展或改写部分功能,实现代码复用的方式.。

1.2单继承就是一个类只可以继承自一个父类,多继承是指一个类可以同时继承多个父类。

1.3java中使用的是单继承,也就是一个类有且只能有一个父类,java中可以使用接口实现来实现类似多继承的效果。

2.下面着重介绍Java中如何实现多继承:

如下是多重继承示例:

interface CanFight{

void fight();

}
interface CanSwim{

void swim();

}
interface CanFly{

void fly();

}
class ActionCharacter{

public void fight(){

System.out.println("I can fight!");
}

}
class Hero extends ActionCharacter implements CanFight,CanSwim,CanFly{

public void swim(){

System.out.println("I can swim!");

}
public void fly(){

System.out.println("I can fly!");
}

}
public class Adventure {

public static void t(CanFight x){x.fight();

}
public static void u(CanSwim x){x.swim();

}
public static void v(CanFly x){x.fly();

}
public static void w(ActionCharacter x){x.fight();

}
public static void main(String[] args){

Hero h=new Hero();

t(h);

u(h);

v(h);

w(h);

}

}

从这个实例中,不能看出Java对于多继承是如何实现的。

运行结果:

I can fight!
I can swim!
I can fly!
I can fight!


以上就是Java对于多继承是如何实现的说明

Ⅲ 什么是继承,试说明在java中实现多继承的方法

继承:是对象之间的层次关系(父类、子类)。需要用到extends关键字。一个类只能有一个父类。
继承的作用:是子类可以直接调用父类的方法,可以重写拓展父类的方法属性。
方法的重写:子类和父类的方法相同(名字、参数列表和返回类型都相同、是否有static修饰也一样)子类的权限不能比父类的小,抛出异常不能比父类大。
java中没有直接多继承。只能间接实现多继承。
通过接口、抽象类实现多继承如:A抽象类继承了B类实现了多个接口,C继承A类。
通过内部类如:A类继承了B类,A类中的内部类InnerA类继承了C类。那么InnerA类实例可以调用C类的方法也可以调用A类的方法。

Ⅳ java中定义一个类可以同时继承两个类

java中一个类不能直接继承两个类。

比如说这样:class A extends B,C

不能这样写,因为java不支持多继承,但是可以像下面这样实现继承多个类:

class A extends B

class C extends A

这样C就同时继承了B和A两个类。



(4)java实现多重继承扩展阅读

当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下:

1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量;

2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;

3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用。

阅读全文

与java实现多重继承相关的资料

热点内容
安卓手机怎么永久关闭后台启动 浏览:40
网站phpjavascript 浏览:453
64位java内存 浏览:418
女程序员学习方法 浏览:383
工程数学线性代数pdf 浏览:681
提升程序员技术档次的书 浏览:691
python词云图txt格式 浏览:968
韩国料理pdf 浏览:227
什么app就能知道自己的脸型 浏览:383
准了app月卡可以看什么 浏览:140
云服务器开机要开30秒 浏览:646
php数组传递给js 浏览:640
在世纪的转折点上pdf 浏览:857
变频制冷压缩机性能实验 浏览:575
印刷哪个app好 浏览:367
安卓手机如何查看连接过的wifi密码 浏览:461
chrpythonord 浏览:354
android切片 浏览:231
前端js调用php 浏览:591
文件夹res是什么 浏览:489