精华内容
下载资源
问答
  • 解决java多继承问题

    千次阅读 2019-06-18 20:08:28
    java中的接口之间可以多继承,也可以实现。 但是java中的类只能实现单继承,但可以实现。 为了完全理解如何解决Java的多重继承问题,有一个经典的问题需要描述如下: 有类动物,它有子类鸟和马,现在需要...

    首先:

    java中的接口之间可以多继承,也可以多实现。

    但是java中的类只能实现单继承,但可以多实现。

     

    为了完全理解如何解决Java的多重继承问题,有一个经典的问题需要描述如下:

    有类动物,它有子类鸟和马,现在需要制作一个从飞鸟和马延伸的类Pegasus,因为飞马座既是鸟又是马。

    解决这个问题的经典方法是制作Animal,Bird和Horse类接口并从中实现Pegasus。

     

    现在,换种方式:

    为动物类创建接口,例如用于马的公共接口Equidae和用于鸟类的公共接口Avialae

    public class Bird implements Avialae {
    }
    
    
    
    
    public class Horse implements Equidae {}
    
    
    
    
    public class Pegasus implements Avialae, Equidae {}

     

    另一种方式:

    为了减少重复代码,也可以创建一个抽象类,其中包含需要实现的动物的大多数常用代码。

    public abstract class AbstractHorse implements Equidae {}
    
    
    
    
    public class Horse extends AbstractHorse {}
    
    
    
    
    public class Pegasus extends AbstractHorse implements Avialae {}

     

    总结:我建议绕过接口的“多继承”问题,不建议使用代表已经具体类型的接口(如Bird)。使用接口构造继承层次结构,在有用时使用抽象类,在需要时实现具体类,并在适当时使用委托。

    展开全文
  • java继承多继承

    千次阅读 2019-10-04 19:55:27
    java继承关键字extend和implement,Java所有子类都继承自 java.lang.Object,即java.lang.Object是Java的祖先类,当一个类内没有继承关键字的时候,默认继承自Object(这个类在 java.lang 包中,所以不需要 import)...

    java单继承和多继承

    单线程:一个子类只能继承自一个父类
    多线程:一个子类可以继承自多个父类

    java继承关键字extend和implement,Java所有子类都继承自 java.lang.Object,即java.lang.Object是Java的祖先类,当一个类内没有继承关键字的时候,默认继承自Object(这个类在 java.lang 包中,所以不需要 import)

    Java不能多继承,Java的多继承特性是通过接口实现的,所以implement实现的多继承没有构造函数

    注意:类的继承并不改变类成员的访问权限。也就是说,如果父类的成员是公有的、被保护的或默认的,它的子类仍具有相应的这些特性。比如菱形是四边形的派生类,有四边形的所有特征,还可以增添自己的特征。Java中的类的继承就是这样实现的通过扩展其他类形成新的类。

    展开全文
  • java中单继承多继承

    千次阅读 2015-05-06 22:39:23
    C++中支持多继承,但是在java之中不允许一个子类有个直接父类,java对此进行了改良。
      单继承:一个子类只能有一个直接父类
      多继承:一个子类可以有多个直接父类(java中不允许,进行了改良)
            不直接支持,因为多个父类中有相同成员,会产生调用的不确定性

            在java中是通过“多实现”的方式来实现的。


    class A
    {
    	void show()
    	{
    		System.out.println("a");
    	}
    }
    
    class B
    {
    	void show()
    	{
    		System.out.println("b");
    	}
    }
    
    class C extends A, B
    {
    }
    //主函数中
    C c = new C();
    c.show();

    如以上代码,类A、B中都有一个show()方法,类C同时继承A和B,当在主函数中创建C的对象并调用show()方法时,

    就会出现不确定性,不知道应该调用哪个类中的show()方法。


    但是java支持多层(多重)继承
    例如:C继承B, B继承A,这样就会出现继承体系


    当要使用一个继承体系时:
    1.查看该体系中的顶层类,了解该体系的基本功能。
    2.创建体系中的最子类对象,完成功能的使用。

    展开全文
  • Java 继承

    千次阅读 多人点赞 2019-05-07 11:12:43
    java继承的概念 Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为, 并能扩展新的能力, 继承使用的是extends 类的继承格式 class 父类 { } class ...

    学而时习之,温故而知新.

    java继承的概念

    Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,

    并能扩展新的能力,

    继承使用的是extends

    类的继承格式

    class 父类 { }

    class 子类 extends 父类 { }

     

    继承的优点:

    1 提高了代码的复用性

    2 提高了代码的维护性

    3 建立了类与类之间的关系,继承是多态的前提。

    继承的缺点:

    1 在一定程度上,造成类与类之间的强关联,即所谓的高耦合。

    2 父类功能的改变对子类也会造成影响。

     

    说下什么地方使用extends 

    案例1

    父类用的一些方法 子类中也使用到了,这个时候就没有必要 在子类中重新写一次

    这个时候就可以 子类 extends 父类  不如 Andorid 中常用的就是继承BaseActivity 了

     

    注意事项:

    Java 不支持多继承

    下面是错误的

    如果想实现a和b里面的方法可以用实现implements 

     

    下面是可以实现的

     

     

    展开全文
  • java实现多继承

    千次阅读 2015-03-13 12:17:09
    java中,原则上是不允许多继承的,也就是类与类之间只可以单继承。 那么,有没有办法,可以在不使用接口的情况下实现多继承呢? 答案是可以。 使用内部类就可以多继承,严格来说,还不是实现多继承,但是这种方法...
  • Java中的多继承

    千次阅读 2016-05-23 19:06:13
    Java多继承的两种实现方式
  • java如何实现多继承

    万次阅读 热门讨论 2018-09-03 16:26:00
    java中,原则上是不允许多继承的,也就是类与类之间只可以单继承。 那么,有没有办法,可以在不使用接口的情况下实现多继承呢? 答案是可以。 使用内部类就可以多继承,严格来说,还不是实现多继承,但是这种方法...
  • java接口多继承

    千次阅读 2016-07-31 21:24:01
    1.接口是常量值和方法...3.java接口可以多继承。 Interface3 Extends Interface0, Interface1, interface…… 不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?
  • Java有没有多继承

    千次阅读 2017-07-31 14:49:21
    很多人都知道Java是单继承的,其实准确的说应该是这样的:Java的类是单继承的,即每个类只能继承一个类。但是,Java中也有多继承,接口支持多继承,即一个接口可以继承多个接口。
  • classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?但接口...
  • Java继承

    万次阅读 多人点赞 2019-06-06 17:25:11
    面向对象编程中,继承是一个比较重要的概念,继承描述的是事物之间的所属关系,是从已有的类中构建出新的类,已有的类称为父类,新的类称为子类,子类具有父类的数据属性和方法,并能扩展新的属性和方法(不能继承...
  • 前言 众所周知,Java是一种面向对象...怎样曲线实现多继承的效果? Java类为何设计为只能单继承? 我们都知道Java的主要设计者是James Gosling,下面我引用它的一段话来对Java语言进行定义: Java是一种简单的,面...
  • java类单继承 接口多继承

    千次阅读 2014-12-02 15:01:55
    java类之间的继承是单继承的,即一个子类只能继承一个父类,这样是避免多继承时父类方法出现重写,子类不知道调用哪个父类的方法。 如:public class son extends father{ //do something here } 但是对于接口来说...
  • Java基础——Java"多继承"的三种实现方式
  • Java支持多继承吗?

    千次阅读 2020-09-18 21:58:34
    Java支持多继承吗?
  • Java继承实例

    千次阅读 2019-05-17 15:08:28
    Java 继承 继承java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。 如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A...
  • java接口的多继承

    千次阅读 2018-09-11 22:08:19
    在理解java集合框架和 Iterator Pattern的关联时遇到了接口的继承问题 这里写下对接口继承的个人理解,理解前需要补充接口和继承知识 什么是java接口 Java接口是一系列方法的声明,是一些方法特征的集合,一个...
  • java继承

    万次阅读 2017-12-11 16:56:35
    java语言中,类可以从其他类继承而来,并继承父类的成员和方法。 继承是简单但是非常强大:当你需要创建一个新类,但是已经有其他类,它已经包含了一些你需要的代码,那么你可以从已有的这个类,继承新的类。...
  • java 接口可以多继承

    万次阅读 多人点赞 2015-06-16 10:08:28
    接口是常量值和方法定义的集合。...java接口可以多继承。Interface3 Extends Interface0, Interface1, interface…… 以下是spring ApplicationContext 接口的代码,同时继承个接口 public interface Appli...
  • 新手小白学JAVA 继承 super

    万次阅读 多人点赞 2021-05-10 08:49:27
    Java继承是会用已存在的类的定义作为基础建立新类的技术 新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类) 这种继承使得复用以前的代码非常容易,能够大大的缩短开发...
  • java多继承问题

    千次阅读 2015-08-11 14:14:15
    java遵循的是单继承,c++可以多继承,但是使其结构体变得十分复杂,所以java实行单继承,但是也引入了接口这个概念。 单继承针对的是class,而非interface,一个类只能extends一个,但是可以implents个接口。 ...
  • 但是你可以像下面这样实现继承多个类 class A extends B class C extends A 这样C就同时继承了B和A两个类在C++看来,这个多继承就好解决多了class A{public:virtual void foo(){printf("A")}};c...
  • java 在编译的时候就会检查 类是不是多继承,如果出现多继承编译不通过。但是在java 语法中接口是可以多继承 的。  1 java 如果出现多继承、父类中都有相同的属性和name 值 子类如果使用父类的属性和name 值 ...
  • Java继承的定义与使用

    万次阅读 多人点赞 2018-10-21 12:00:25
    1.2.2 Java只允许单继承不允许多继承(一个子类继承一个父类)1.2.3 在继承时,子类会继承父类的所有结构。阿里java校招笔试题 继承   继承的主要作用在于,在已有基础上继续进行功能的扩充。 定义两个类(学生...
  • Java 实现“多继承

    万次阅读 多人点赞 2019-07-20 12:49:19
    一、Java语言特点 Java是一种简单、面向对象、分布式、易读、鲁棒、安全、结构明晰、可移植、高性能、多线程、动态的语言。...多继承:指一个子类同时继承多个父类,从而具备多个父类的特征 多继承会造成 ...
  • java-继承和多态

    万次阅读 多人点赞 2018-08-25 21:30:12
    继承继承就是保持已有类的特性而构造新类的过程。...多继承:在类层次中,子类继承个父类的数据结构和方法,一个类允许有继承java支持多层继承) //父类 public class file{ public long ...
  • Java中有多继承吗?

    千次阅读 2018-04-16 09:37:21
    Java中是不支持多继承的,但是提供了一些可以实现同样效果的机制——接口的实现和接口的多继承。1.什么是接口的实现?就是一个类(包括抽象类和普通类)可以同时实现个接口。class Test implements Shape,Tool...
  • Java —— 接口可以多继承

    千次阅读 2017-04-13 12:32:06
    之前一直认为java是单继承的,但那只是对类,今天学习Spring首次看到了多继承,顺便搜到了一篇笔记: 接口是常量值和方法定义的集合。 java类是单继承的: classB Extends classA java接口可以多继承: Interface3...
  • Java继承超详细

    千次阅读 多人点赞 2021-03-02 14:58:30
    今天我们开始学习有关Java继承的知识。 继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 继承的作用:通过继承可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,225,661
精华内容 490,264
关键字:

java多继承

java 订阅