精华内容
下载资源
问答
  • 展开全部Java对于多重继承怎么实现的?首先回答这个问题之前,我需要说62616964757a686964616fe4b893e5b19e31333363363433明下什么是继承?什么是多重继承和单继承?java采用何种机制来实现多重继承:1.1继承是...

    展开全部

    Java对于多重继承是怎么实现的?首先回答这个问题之前,我需要说62616964757a686964616fe4b893e5b19e31333363363433明下什么是继承?什么是多重继承和单继承?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为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往...

    接口

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

    在介绍接口和抽象类的时候了解到子类只能继承一个父类,也就是说只能存在单一继承,但是却可以实现多个接口,这就为我们实现多重继承做了铺垫。

    对于接口而已,有时候它所表现的不仅仅只是一个更纯粹的抽象类,接口是没有任何具体实现的,也就是说,没有任何与接口相关的存储,因此也就无法阻止多个接口的组合了。

    interfaceCanFight {voidfight();

    }interfaceCanSwim {voidswim();

    }interfaceCanFly {voidfly();

    }public classActionCharacter {public voidfight(){

    }

    }public class Hero extends ActionCharacter implementsCanFight,CanFly,CanSwim{public voidfly() {

    }public voidswim() {

    }/*** 对于fight()方法,继承父类的,所以不需要显示声明*/}

    内部类

    上面使用接口实现多重继承是一种比较可行和普遍的方式,在介绍内部类的时候谈到内部类使的多继承的实现变得更加完美了,同时也明确了如果父类为抽象类或者具体类,那么我就仅能通过内部类来实现多重继承了。如何利用内部类实现多重继承,请看下面实例:儿子是如何利用多重继承来继承父亲和母亲的优良基因。

    首先是父亲Father和母亲Mother:

    public classFather {public intstrong(){return 9;

    }

    }public classMother {public intkind(){return 8;

    }

    }

    重头戏在这里,儿子类Son:

    public classSon {/*** 内部类继承Father类*/

    class Father_1 extendsFather{public intstrong(){return super.strong() + 1;

    }

    }class Mother_1 extendsMother{public intkind(){return super.kind() - 2;

    }

    }public intgetStrong(){return newFather_1().strong();

    }public intgetKind(){return newMother_1().kind();

    }

    }

    儿子继承了父亲,变得比父亲更加强壮,同时也继承了母亲,只不过温柔指数下降了。这里定义了两个内部类,他们分别继承父亲Father类、母亲类Mother类,且都可以非常自然地获取各自父类的行为,这是内部类一个重要的特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。

    展开全文
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...

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

    一、 接口

    在介绍接口和抽象类的时候了解到子类只能继承一个父类,也就是说只能存在单一继承,但是却可以实现多个接口,这就为我们实现多重继承做了铺垫。

    对于接口而已,有时候它所表现的不仅仅只是一个更纯粹的抽象类,接口是没有任何具体实现的,也就是说,没有任何与接口相关的存储,因此也就无法阻止多个接口的组合了。

    1 interfaceCanFight {2 voidfight();3 }4

    5 interfaceCanSwim {6 voidswim();7 }8

    9

    10 interfaceCanFly {11 voidfly();12 }13

    14 public classActionCharacter {15 public voidfight(){16

    17 }18 }19

    20 public class Hero extends ActionCharacter implementsCanFight,CanFly,CanSwim{21

    22 public voidfly() {23 }24

    25 public voidswim() {26 }27

    28 /**

    29 * 对于fight()方法,继承父类的,所以不需要显示声明30 */

    31 }

    二、内部类

    上面使用接口实现多重继承是一种比较可行和普遍的方式,在介绍内部类的时候谈到内部类使的多继承的实现变得更加完美了,同时也明确了如果父类为抽象类或者具体类,那么我就仅能通过内部类来实现多重继承了。如何利用内部类实现多重继承,请看下面实例:儿子是如何利用多重继承来继承父亲和母亲的优良基因。

    首先是父亲Father和母亲Mother:

    public classFather {public intstrong(){return 9;

    }

    }public classMother {public intkind(){return 8;

    }

    }

    重头戏在这里,儿子类Son:

    public classSon {/*** 内部类继承Father类*/

    class Father_1 extendsFather{public intstrong(){return super.strong() + 1;

    }

    }class Mother_1 extendsMother{public intkind(){return super.kind() - 2;

    }

    }public intgetStrong(){return newFather_1().strong();

    }public intgetKind(){return newMother_1().kind();

    }

    }

    测试程序:

    public classTest1 {public static voidmain(String[] args) {

    Son son= newSon();

    System.out.println("Son 的Strong:" +son.getStrong());

    System.out.println("Son 的kind:" +son.getKind());

    }

    }----------------------------------------Output:

    Son 的Strong:10Son 的kind:6

    儿子继承了父亲,变得比父亲更加强壮,同时也继承了母亲,只不过温柔指数下降了。这里定义了两个内部类,他们分别继承父亲Father类、母亲类Mother类,且都可以非常自然地获取各自父类的行为,这是内部类一个重要的特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。

    展开全文
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...

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

    一、 接口

    在介绍接口和抽象类的时候了解到子类只能继承一个父类,也就是说只能存在单一继承,但是却可以实现多个接口,这就为我们实现多重继承做了铺垫。

    对于接口而已,有时候它所表现的不仅仅只是一个更纯粹的抽象类,接口是没有任何具体实现的,也就是说,没有任何与接口相关的存储,因此也就无法阻止多个接口的组合了。

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    1 interface CanFight {

    2 void fight();

    3 }

    4

    5 interface CanSwim {

    6 void swim();

    7 }

    8

    9

    10 interface CanFly {

    11 void fly();

    12 }

    13

    14 public class ActionCharacter {

    15 public void fight(){

    16

    17 }

    18 }

    19

    20 public class Hero extends ActionCharacter implements CanFight,CanFly,CanSwim{

    21

    22 public void fly() {

    23 }

    24

    25 public void swim() {

    26 }

    27

    28 /**

    29 * 对于fight()方法,继承父类的,所以不需要显示声明

    30 */

    31 }

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    二、内部类

    上面使用接口实现多重继承是一种比较可行和普遍的方式,在介绍内部类的时候谈到内部类使的多继承的实现变得更加完美了,同时也明确了如果父类为抽象类或者具体类,那么我就仅能通过内部类来实现多重继承了。如何利用内部类实现多重继承,请看下面实例:儿子是如何利用多重继承来继承父亲和母亲的优良基因。

    首先是父亲Father和母亲Mother:

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    public class Father {

    public int strong(){

    return 9;

    }

    }

    public class Mother {

    public int kind(){

    return 8;

    }

    }

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    重头戏在这里,儿子类Son:

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    public class Son {

    /**

    * 内部类继承Father类

    */

    class Father_1 extends Father{

    public int strong(){

    return super.strong() + 1;

    }

    }

    class Mother_1 extends Mother{

    public int kind(){

    return super.kind() - 2;

    }

    }

    public int getStrong(){

    return new Father_1().strong();

    }

    public int getKind(){

    return new Mother_1().kind();

    }

    }

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    测试程序:

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    public class Test1 {

    public static void main(String[] args) {

    Son son = new Son();

    System.out.println("Son 的Strong:" + son.getStrong());

    System.out.println("Son 的kind:" + son.getKind());

    }

    }

    ----------------------------------------

    Output:

    Son 的Strong:10

    Son 的kind:6

    48304ba5e6f9fe08f3fa1abda7d326ab.png

    儿子继承了父亲,变得比父亲更加强壮,同时也继承了母亲,只不过温柔指数下降了。这里定义了两个内部类,他们分别继承父亲Father类、母亲类Mother类,且都可以非常自然地获取各自父类的行为,这是内部类一个重要的特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。

    展开全文
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • 阅读目录一、 接口二、内部类多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的...
  • java 实现多重继承

    2017-08-12 16:48:00
    java提高篇(九)-----实现多重继承 接口 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道 Java 为了保证数据安全,只允许单继承。有些时候我们会认为如果系统中需要使用多重继承,那往往都是糟糕的设想,这时开发人员往往...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • java实现多重继承

    2017-05-28 10:36:08
    多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • 有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要思考的不是怎么使用多重继承,而是您的设计是否存在问题.但有时候我们确实是需要实现多重继承,而且现实生活中也真正地存在...
  • Java 提高篇(九)—–实现多重继承多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道 Java 为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道 Java 为了保证数据安全,只允许单继承。 有些时候我们会认为如果系统中需要使用多重继承,那往往都是糟糕的设想,这时开发人员往往...
  • java多重继承

    2018-05-11 16:51:51
    多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往...
  • 实现多重继承

    2020-06-03 22:26:46
    多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证...可幸的是Java是非常和善和理解我们的,它提供了两种方式让我们曲折来实现多重继承:接口和内部类。 一、 接口 在介绍接
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承(这个和C++有很大区别)。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,...
  • 多重继承指的是一个类可以同时从多于一个的父类那里继承行为和特征,然而我们知道Java为了保证数据安全,它只允许单继承。有些时候我们会认为如果系统中需要使用多重继承往往都是糟糕的设计,这个时候我们往往需要...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 124
精华内容 49
关键字:

java多重继承怎么实现

java 订阅