Java继承特性(学习推荐版)——java三大特性之一,子类extends父类

定义

image-20231202185829841

image-20231202190531274

Java支持单继承和多层继承,但不支持多继承

# 子类构造器及super用法

image-20231203134845000

image-20231203134816206

image-20231203134910186

解释:子类构造器,注意是子类的构造器,不是子类的方法的第一行默认都会有super()去调用无参构造器,只不过可以省略没写而已。当然也可以自己写super(参数)必须放第一行,去调用有参数构造器。


*见下图,若父类没有无参构造器,则子类构造器(不是子类方法)必须自己写super(参数列表)去调用父类构造器,而且必须放一行

image-20231203135217259

总结:子类构造器第一行必须写super(参数列表),若没有参数列表,则super可以省略。


应用场景如下

image-20231203135922367


补充知识:任意类的构造器中,可以通过this(参数列表)去调用该类的其他构造器的

image-20231203140541285

image-20231203140708004

若子类构造器写了this(参数类别)必须,那么this(参数列表)放构造器的第一行

this()和super()只能存在一个,而且必须放第一行

分析以下代码:

 package Pack2;​public class Test {public static void main(String[] args) {Student zhangsan = new Student("zhangsan");System.out.println(zhangsan.getName());System.out.println(zhangsan.getAge());}public void fun() {System.out.println("fun");}}class Student extends People{private String name;private int age;​public String getName() {return name;}​public void setName(String name) {this.name = name;}​public int getAge() {return age;}​public void setAge(int age) {this.age = age;}public Student() {super();System.out.println("无参");this.age = 1;}​public Student(String name) {this();  //这里写了this()那么默认的super()就没有了//也就是this()和super()只能存在一个this.name = name;}}class People {People() {System.out.println("父类构造器");}}

下图为执行流程

image-20231203142352234

运行结果如下:

image-20231203142459876

分析如下:

因为public String(String name)中存在this了 那么不会去调super()了,去到this()指向的构造器,若该构造器没有this去指向另一个构造器了,那么super()就执行了,也就是说super(参数列表)最多执行一次


继承好处

image-20231202190640052

示例代码

1.

image-20231202190321229

注释部分代表报错的代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/287208.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openwrt 搭建web

折腾 软路由 有几年了,最近试了下 移动的 IPV6, 既然可以拿到 公网的 IPV6, 所以想折腾下, 经过不懈努力 实现了:通过 ipv4/ipv6 地址访问我的 web站点 (白飘不花钱的方式) 1 动态DNS 折腾 DDNS 无非是想 白飘 公网IP,但是 仅仅…

VueStu02-创建一个Vue实例

一、核心步骤 1.准备容器 准备一个盒子div。 2.引包 从官网引包,有开发版本和生产版本之分。 3.创建Vue实例 创建一个Vue实例,new Vue()。 4.指定配置项 指定配置项,用于渲染数据 。 el:指定挂载点。知道自己将来要管理的是…

【MySQL】 表的操作

// 创建表 create table 表名();// 查看表结构 desc 表名;// 新增一列表信息 alter table 表名 add 字段名 字段类型 (after 原表某一字段名);// 删除一列表信息 alter table 表名 drop 字段名;// 修改表字段名字 alter table 表名 change 原字段名 新字段名 类型; // 新字…

Spring Security 6.x 系列(11)—— Form表单认证流程

一、前言 在本系列文章中介绍了过滤器和相关认证组件,对部分源码也进行详细分析。 本章主要学习 Spring Security 中通过 HTML 表单提供用户名和密码的认证流程。 二、配置表单登录 默认情况下,Spring Security 表单登录处于启用状态。 但是&#xff…

玩转大数据19:数据治理与元数据管理策略

随着大数据时代的到来,数据已经成为企业的重要资产。然而,如何有效地管理和利用这些数据,成为了一个亟待解决的问题。数据治理和元数据管理是解决这个问题的关键。 1.数据治理的概念和重要性 数据治理是指对数据进行全面、系统、规范的管理…

信创之国产浪潮电脑+统信UOS操作系统体验9:使用vscode构建的配置任务编译C++程序

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 在《信创之国产浪潮电脑统信UOS操作系统体验2:安装visual studio code和cmake搭建C开发环镜》介绍了在国产浪潮电脑统信UOS操作系统中安装visual studio code和cmake搭建C开发环镜的过…

可视化开发平台哪个好?

“可视化开发平台哪个好?”,这是不少粉丝朋友经常询问我们的问题。作为专业的低代码技术平台服务商,流辰信息将全力以赴做好低代码平台的研发创新工作,持续为行业的数字化转型和流程化办公带来整套专业的数据平台方案服务。本文将…

七牛云API轻松集成,助力电商客服系统升级

七牛云:电商平台的无代码API集成解决方案 随着电子商务行业的蓬勃发展,电商平台正面临着数据管理和客户体验优化的巨大挑战。七牛云,作为业界领先的云服务提供商,针对这一需求推出了无代码API集成解决方案。这套方案旨在简化电商…

Big Data Tools插件(详细讲解安装,连接,包教包会!!!)

前言 ​ 最近有很多朋友都开始转行大数据竞赛了,大部分都是刚刚入门之类的,我自己是有一些基础的,玩过一段时间,最近很多好友学弟,都问过一个问题就是有没有什么类似于远程控制,或者图形化控制HDFS的插件或…

Python爬虫之两种urlencode编码发起post请求方式

背景 闲来无事想爬一下牛客网的校招薪资水平及城市分布,最后想做一个薪资水平分布的图表出来 于是发现牛客使用的是application/x-www-form-urlencoded的格式 测试 首先可以先用apipost等测试工具先测试一下是否需要cookie之类的,发现是不需要的&…

Unity中Shader测试常用的UGUI功能简介

文章目录 前言一、锚点1、锚点快捷修改位置2、使用Anchor Presets快捷修改3、Anchor Presets界面按下 Shift 可以快捷修改锚点和中心点位置4、Anchor Presets界面按下 Alt 可以快捷修改锚点位置、UI对象位置 和 长宽大小 二、Canvas画布1、UGUI中 Transform 变成了 Rect Transf…

【LeetCode刷题】-- 246.中心对称数

246.中心对称数 class Solution {public boolean isStrobogrammatic(String num) {HashMap map new HashMap();map.put(6,9);map.put(8,8);map.put(1,1);map.put(9,6);map.put(0,0);int n num.length();for(int i 0; i < n ;i){//如果字符串中包含不可翻转的字符&#xf…