Java基础--- 构造函数和super关键字

2023-11-17

有参数构造函数和无参数构造函数

无参构造函数:

  • 在创建对象时自动调用无参构造函数

有参数构造函数

  • 一个类可以用很多有参构造函数, 也叫constructor overloading
  • 创建对象时, 根据参数类型和顺序判断调用哪个构造函数
  • 如果定义了有参构造函数, 则没有无参构造函数 除非显性的写出来

super关键字

使用super调用父类constructor

  • super(): The statement super() invokes the no-arg constructor of its superclass
  • super(argument): super(arguments) invokes the superclass constructor that matches the arguments

编译器自动调用super

  • 如果子类的constructor没有显示的调用父类的构造函数, 则编译器自动调用
    在这里插入图片描述

Constructor Chaining

在这里插入图片描述
在这里插入图片描述

如果一个类会被继承, 最好显性的写出无参构造函数

在这里插入图片描述

  • 上图中Apple没有显性的定义构造函数,则Apple的无参构造函数会被调用
  • Apple的无参构造函数会自动调用Fruit的无参构造函数, 但是Fruit有定义有参构造函数,所以没有无参构造函数了
  • 所以需要在Fruit显性的定义无参构造函数.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java基础--- 构造函数和super关键字 的相关文章

随机推荐

  • JavaScript预编译过程

    JavaScript预编译过程 阶段 三个 预编译过程 1 JavaScript代码执行之前的预编译 案例说明 2 函数执行前的预编译 案例说明 总结 预编译两个小规则 预编译前奏 阶段 三个 词法语法分析 词法语法分析就是检查JavaSc
  • Linux中找不到blas库,linux – caffe:/usr/bin/ld:找不到-lcblas

    我已经在我的CentOS7 64位 中安装了BLAS 但是当我的使用全部在我的 caffe 它报告了一个错误 usr bin ld cannot find lcblas usr bin ld cannot find latlas colle
  • MySql创建新用户并赋予某些表的读写权限

    1 登录root用户 2 创建一个新用户 CREATE USER 用户名 IDENTIFIED BY 密码 3 赋予该用户相应权限 GRANT SELECT INSERT UPDATE DELETE ON 库名 表名 TO 用户名
  • 已解决No suitable driver found for jdbc:mysql://localhost:3306/ 问题

    已解决No suitable driver found for jdbc mysql localhost 3306 问题 本文目录 一 Bug描述 二 定位报错点及原因 三 最终的解决方案 四 相关注意事项 总结 一 Bug描述 在学习ja
  • Acwing-4653. 数位排序

    本题重点在于预处理每个数的各位之和 cmp函数的书写 根据题目中的描述 当两个数各个数位之和不同时 将数位和较小的排在前面 当数位之和相等时 将数值小的排在前面 不难写出cmp函数 快速排序的比较次数为nlogn次 本题中约为2 10 7
  • vue 读取Excel文件中的日期,转为所需要的时间格式

    const FileDate date number type String gt if date let year month day HH mm ss const time new Date date 1 24 3600000 1 8
  • 使用vue-video-player播放视频

    1 npm安装 vue video player videojs contrib hls 2 在main js中引入 import Vue from vue import App from App vue import router fro
  • python包管理-conda(miniconda)

    配置整理 channels https mirrors tuna tsinghua edu cn anaconda pkgs main http mirrors aliyun com anaconda pkgs main show chan
  • vue-router刷新页面后回到首页

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 今天给大家分享一个小知识点 注意查收 平时我们再写vue项目配置完路由之后会发现他不会自动回到首页 解决方法很简单 加个判断就可以啦 在App
  • Tomcat的卸载和安装

    Tomcat的卸载和安装 一 Tomcat卸载 1 删除Tomcat安装目录 2 删除相关注册表 3 删除Tomcat service 二 Tomcat安装 1 下载Tomcat安装包 2 解压和启动Tomcat 3 设置环境变量 4 查看
  • DTMF信号检测分析(Matlab)

    基于Matlab平台的DTMF信号检测 1 将录制好的一段按键音读入到Matlab平台 2 设计带通滤波器 去噪处理 可选 3 将给个按键音对应的信号一次分割 4 计算分割后信号的相应的频点值 幅度最大的两个点即为该信号的高低频 5 显示音
  • HTML特效推荐,超级惊艳 10款HTML5动画特效推荐[转]

    ylbtech html5 democss 今天咱们要来推荐 10 款超级惊艳的 HTML5 动画特效 有一些是基于 CSS3 和 jQuery 的 比较实用 特别是前几个 HTML5 动画 简直酷毙了 如今将它们分享给你们 也许你能用到这
  • python基本数据类型——整型,浮点型,复数,字符串

    由于也是初学python 所以在这里简要介绍一下python基础的数据类型 好在宏观上有个把握 整数类型 python里面的整数类型可正可负 不像其他的语言 python的整数并没有取值范围的限制 如 pow x y 函数用来计算x的y次方
  • python中使用提示的python -m pip install --upgrade pip升级失败解决方案

    1 使用python m pip install upgrade pip升级失败 2 使用python m pip install U force reinstall pip依然失败 3 使用pip install user upgrade
  • 出现 ERROR StatusLogger Log4j2 could not find a logging implementation.

    控制台出现 ERROR StatusLogger Log4j2 could not find a logging implementation Please add log4j core to the classpath Using Sim
  • 阿里研究员:软件测试中的18个难题

    简介 对于软件测试来说 怎么样才算测够了 如何评价测试的有效性 那么多测试用例 以后怎么删 在软件测试中会遇到非常多的问题 阿里研究员郑子颖分享了18个他总结出的难题以及相关看法 希望对同学们有所启发 十多年前我在上一家公司的时候看到过内部
  • 17、系统设计篇-技术选型

    技术选型 就是在两个或多个技术方案中选择适合当前项目情况的方案 技术选型不仅是个技术的选择 也是一个和项目情况密切相关的项目决策 技术选型 本质上是项目决策的一种 要做好技术选型 就是要做好项目决策 一 项目决策需考虑的角度 1 时间 范围
  • 微信小程序强制更新

    目录 冷启动 热启动 小程序更新机制 强制更新方案 如何测试 冷启动 热启动 冷启动 如果用户首次打开 或小程序销毁后被用户再次打开 此时小程序需要重新加载启动 即冷启动 热启动 如果用户已经打开过某小程序 然后在一定时间内再次打开该小程序
  • QML 单例组件

    作者 一去 二三里 个人微信号 iwaleon 微信公众号 高效程序员 在使用 QML 开发时 我们经常需要自定义组件 来实现一些通用的 UI 元素 如导航栏 圆形进度条等 这样做的好处是 可以将复杂的界面逻辑封装到一个独立的组件中 从而提
  • Java基础--- 构造函数和super关键字

    Java基础 构造函数和super关键字 有参数构造函数和无参数构造函数 super关键字 Constructor Chaining 如果一个类会被继承 最好显性的写出无参构造函数 有参数构造函数和无参数构造函数 无参构造函数 在创建对象时