java多重继承

类的继承是存在局限性的,一个 子类只能继承一个父类,但是可以多重继承,多重继承就是先让B类继承A类,之后再让C类继承B类。

calss A{}   //这是父类

class B extends Af{;   //此时 B类具备了A的操作

class C extends B{};   //此时 C类有A类和B类的所有操作

DEMO:多重继承

此时C类就继承了A类和B类的属性以及方法,其实上在实例化子类的时候会调用父类的构造方法(虽然子类不能继承父类的构造方法,但是在实例化子类的时候会默认调用),而且默认调用的是无参构造方法。

DEMO:调用父类的构造方法

通过上面的错误提示就可以知道实例化子类的时候一定要先调用父类的构造方法,默认调用的是无参数构造方法,此时如果提供了有参数构造方法,那么我们要将无参数构造方法显示的定义。

DEMO:无参构造方法调用

知道了实例化子类的时候需要调用父类的无参构造方法,如果要调用父类的有参数构造方法呢?此时需要使用到一个新的关键 字“super

DEMO:调用有参数构造方法

以上就是构造方法在子类和父类之间调用的关系,你要清楚。

总结:

1、继承有单继承的局限(一个子类只能有一个父类),但是可以多重继承

2、在实例化子类的时候会先调用父类的构造方法(默认调用的是无参数构造,如果要调用有参数构造需要使用关键字super实现)

3、如果是多重继承,那么实例化子类的时候最先调用的是最高父类的构造方法,依次往下

有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!

(0)

相关推荐

  • Java向上转型和向下转型

    一.向上转型 简单的说向.上转型就是:将-一个子类类型的对象赋值给- -个父类类型的变量, 基本的实现语法: 父类类型变量=new 子 类类型(); DEMO:向上转型 发现了可以使用父类类型的变量调 ...

  • Python是面向对象还是过程?Python学习

    面向过程和面向对象是一种编程思想,那么Python开发是面向过程.函数还是对象呢?在这里,小编告诉大家,Python既支持面向对象,也可以支持面向过程. 虽然说Python是一种解释型语言,但它从一开 ...

  • 22 抽象

    22 抽象 关键字 abstract 出现的原因(猜测) 为了使非抽象子类重新书写父类或者祖先类的非私有化方法的方法体内容(返回值类型需要一致),-------即重写(实现),为多态(父类声明,子类实 ...

  • 学习Java语言-接口和继承-继承

    https://m.toutiao.com/is/e2Pfsdv/ 继承 在前面的课程中,您多次看到继承.在Java语言中,类可以从其他类派生,从而从这些类继承字段和方法. 定义: 从另一个类派生的类 ...

  • java 面向对象编程

    什么是面向对象 回顾方法的定义与调用 方法的定义 import java.io.IOException; //Demo01 类 public class Demo01 { //main方法 publi ...

  • 21 继承

    21 继承 关键字 extends 出现的原因(猜测) 多个类出现相同的属性和方法,如果每定义一个类都要重写一次的话,那么就会很麻烦,所以继承就出现了 特点 子类单继承,即一个子类只能有一个父类(联想 ...

  • JAVA多线程学习笔记整理

    多线程: 三种创建方法 继承Thread类,以线程运行内容重写run方法,创建Thread对象并用start方法启动该线程. (匿名内部类) (Lambda表达式) 实现Runable接口,以线程运行 ...

  • 为什么要选择学习Java?适合零基础的初学者的文章

    我经常收到这样的问题:"要学习的第一门编程语言是什么?" Java是一门好的编程语言吗?"和" Java是适合初学者的好的第一门编程语言,还是我应该从Java或 ...

  • Java高并发21-AQS在共享,独占场景下的源码介绍

    一.AQS--锁的底层支持 1.AQS是什么 AQS是AbstractQueuedSychronizer的简称,即抽象同步队列的简称,这是实现同步器的重要组件,是一个抽象类,虽然在实际工作中很烧用到它 ...

  • Java基础之:泛型

    Java基础之:泛型 在不使用泛型的情况下,在ArrayList 中,添加3个Dog. Dog对象含有name 和 age, 并输出name 和 age (要求使用getXxx()). package ...

  • 2021最新 Java虚拟机(JVM)面试题精选(附刷题小程序)

    推荐使用小程序阅读 为了能让您更加方便的阅读 本文所有的面试题目均已整理至小程序<面试手册> 可以通过微信扫描(或长按)下图的二维码享受更好的阅读体验! 目录 推荐使用小程序阅读 1. J ...

  • 成为一名优秀的Java程序员9+难以置信的公式

    成为一名优秀的Java程序员 成为一名优秀的Java程序员并不重要,但是首先您应该了解基本的编程语言. 好吧,你知道那太好了.我们应该一步一步地精通Java编程,并应遵循所有说明,改进Java的编程逻 ...

  • Java异常处理(观察常见异常)

    一:观察异常 在一上一节我们讲解了常见的异常类型,这次可我们通过代码来观察这些异常是如何出现的. DEMO:算术异常   此时出现的是算术异常. DEMO:数组越界异常   发现了出现异常的之后的代码 ...

  • Azure上的Java:云原生身份验证

    API通常需要识别其调用方.它可以是调用API的Web应用程序,也可以是调用API的另一个API.识别API的调用者也称为身份验证.建立自己的身份验证框架可能很棘手.值得庆幸的是,不必建立自己的身份验 ...

  • Azure上的Java:监视和扩展容器化的应用程序

    了解应用程序的运行状况至关重要.如果您的服务不可用,则可能会降低生产力并延误其他流程.您可以通过多种方式跟踪应用程序的可用性.AzureMonitor提供了一种收集和分析有关应用程序性能和事件的信息的 ...