继承中构造方法访问特点--java 进阶day01

news/2025/2/22 22:08:33/文章来源:https://www.cnblogs.com/zhishi6/p/18731526

1.子类不可以继承父类的构造方法

构造方法的名称必须与类名一致,上图中类名是Zi,而构造方法名是Fu,肯定不行

2.子类在初始化之前,需要对父类初始化

子类在初始化的过程中,很有可能会调用到父类的数据,如果父类没有提前初始化,子类就无法调用这些数据

3.通过在子类中访问父类的构造方法,从而初始化父类的数据

案例:

1.老师类和学生类中都有姓名和年龄的共性,所以写一个“人”的父类

2.接着写老师类,老师类继承了父类,又因为构造方法无法继承,所以老师类中的构造方法需要自己书写

通过快捷键快速书写子类的构造方法


因为父类中存在一个空参的构造方法和一个带参构造方法,所有系统会询问我们要打印哪种构造方法,直接ctrl+a全选即可

子类继承了父类,共性的变量我们只需要通过父类即可获取到,无需再在子类中写出(Person中有name和age两个变量,而Teacher中没有)

而如何初始化父类中的这些变量就是通过子类的构造方法再加上super()访问父类的构造方法来实现的

创建了老师对象,提供了实参,然后实参传递给形参,形参又传递给super(),super()又传递给父类的构造方法,从而实现了变量的初始化

理解了这一步,后面的就好写了,接着写学生类,学生类多了一个成绩,这就要我们自己单独在学生类中写出

完成了所有变量的初始化后,因为父类中的变量都被私有化,不能直接拿着变量名来使用,但因为子类都已经继承了父类,getName()等方法都可以直接使用,所以我们通过这些方法来打印

我们可以选择使用super.来调用父类中的get方法,但是仔细想想,老师类和学生类都已经继承了Person类,就相当于它们也有一模一样的get方法,那就没必要再通过super.来调用父类的get方法,而可以直接使用get方法


.

如上图,Zi类继承Fu类,就相当于Zi类中已经有了父类的所有成员,可以直接使用

最后,打印结果


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

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

相关文章

Mysql莫名其妙爆出拒绝访问问题的原因及解决方案

本文记录使用Mysql作为数据库时发生拒绝访问问题的解决方案Mysql出现拒绝连接问题 ⛄问题原因 : Mysql密码错误,本机上并不是只有一个Mysql服务,我们在开机时启动了并非以前使用的那个Mysql服务,所以造成了密码的错误🌟解决方案 :手动关闭当前正在启用的Mysql服务,尝试找…

Codes 开源 免费 研发项目管理平台 3.0.0 版本发布及创新的轻IPD实现

Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台,支持云端认证、本地部署、全部功能开放,并且对 30 人以下团队免费。它通过创新的方式简化研发协同工作,使敏捷开发更易于实施。采用轻量化的 IPD 模式实现,且融合了敏捷 。轻 IPD 主要解决多项目交付的研发过程管理,…

2025/2/15课堂记录

数字转换,皇宫看守,树上dp,树的直径目录数字转换 皇宫看守数字转换这是一道树的直径题。 首先,树的直径定义是:树上两个结点之间的最短(加权)路中最长的一条路径(和二分答案没关) 但由于贪心思想,这个路径一定起点终点是两片叶子结点如图,这棵树的直径就是5,即节点…

基于CPS-SPWM链式STATCOM系统在电压不平衡环境下控制策略的simulink建模与仿真

1.课题概述基于CPS-SPWM链式STATCOM系统在电压不平衡环境下控制策略的simulink建模与仿真。利用电压外环PI调节器得到有功 电流指令值结合由负载侧电流检测 到 的无功 电流指令值 ,经由 状态解耦PI调节的电流内环控制器输出直接得到的是输出电压的指令值,用此信号作为采用控制…

【库】Coravel Schedule任务调度

Coravel 通过使高级应用程序功能(如任务/作业调度、排队、缓存、邮件(以及更多!))易于访问且易于使用,帮助开发人员快速启动并运行 .NET 应用程序。具有简单、富有表现力和直接的语法。   下面是简单的用法,通过注入Scheduler和在中间件中定义调度的实现,来完成简单的…

【库】用Rin透视Web请求

Rin 可以捕获对 ASP.NET Core 应用程序的 HTTP 请求,并为捕获的数据提供查看器。它是调试 Web 应用程序(例如,网站、API 应用)的有用工具。先看如下代码:var builder = WebApplication.CreateBuilder(args); builder.Logging.AddRinLogger(); builder.Services.AddRin(); …

【蓝桥训练记录】第 26 场 蓝桥月赛

训练情况赛后反思 这场怎么都是猜猜乐+典题,做不出来的题真的不会了 A题 显然 2025 里面有多少个 15,除法向上取整即可点击查看代码 #include <bits/stdc++.h> // #define int long long #define endl \nusing namespace std;void solve(){cout<<ceil(1.0*2025/15…

光纤三维布里渊温度和应变分布matlab模拟与仿真

1.程序功能描述 光纤三维布里渊温度和应变分布matlab模拟与仿真。其中 , 布里渊散射是光波与声波在光纤中传播时相互作用而产生的光散射过程 , 在不 同的条件下 , 布里渊散射又分别以自发散射和受激散射两种形式表现出来 。 2.测试软件版本以及运行结果展示MATLAB2022A版…

基于一阶梯度的图像亚像素位移matlab仿真,带GUI界面

1.算法运行效果图预览 (完整程序运行后无水印)2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)% --- Executes on button press in checkbox1. function checkbox1_Callback(hObject, eventdata, handles) % hObject handle to…

Java基础学习(十六)

Java基础学习(十六):多线程 目录Java基础学习(十六):多线程概念多线程的实现方式常见成员方法线程安全问题同步代码块同步方法Lock 锁生产者消费者模式(等待唤醒机制)线程池 本文为个人学习记录,内容学习自 黑马程序员概念进程:程序的基本执行实体 线程:操作系统能够…