【精选】java继承进阶——构造方法的访问特点 this、super使用

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

构造方法的访问特点

怎末调用父类构造方法的?

练习

​编辑

this、super使用总结

练习

带有继承结构的标准Javabean类

代码


构造方法的访问特点

  • 父类中的构造方法不会被子类继承
  • 子类中所以的构造方法默认先访问父类中的无参构造,再执行自己
怎末调用父类构造方法的?
  • 子类构造方法的第一行语句默认都是:super(),不写也存在,且必须在第一行
  • 如果想调用父类有参构造,必须手写super进行调用

练习

父类:person

package demon4;public class person {String name;int age;public person() {}public person(String name, int age) {this.name = name;this.age = age;}}

子类:student

package demon4;public class student extends person{public student(){//子类构造方法中隐藏的super()去访问父类的无参构造super();System.out.println("子类的无参构造");}//子类要调用父类中的构造方法需要手动调用public student(String name,int age){super(name,age);}
}

测试类:test

package demon4;public class test {public static void main(String[] args) {//创建学生对象student s = new student("zhangsan",23);System.out.println(s.name + "," + s.age);}
}

this、super使用总结

  • this:理解为一个变量,表示当前方法调用者的地址值
  • super:代表父类存储空间

练习

带有继承结构的标准Javabean类

1.经理

成员变量:工号,姓名,工资,管理奖金

成员方法:工作(管理其他人),吃饭(吃米饭)

2.厨师

成员变量:工号,姓名,工资

成员方法:工作(炒菜),吃饭(吃米饭)

代码

父类:Employee

package demon5;public class Employee {private String id;private String name;private double salary;public Employee() {}public Employee(String id, String name, double salary) {this.id = id;this.name = name;this.salary = salary;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}//成员方法://工作public void work(){System.out.println("员工在工作");}//吃饭public void eat(){System.out.println("吃米饭");}}

子类:Manager

package demon5;public class Manager extends Employee{private double bouns;//空参构造public Manager() {}//父类 + 子类 全部参数的构造public Manager(String id, String name, double salary, double bouns) {super(id, name, salary);this.bouns = bouns;}public double getBouns() {return bouns;}public void setBouns(double bouns) {this.bouns = bouns;}//方法重写@Overridepublic void work() {System.out.println("管理员工");}
}

子类:Cook

package demon5;public class Cook extends Employee{public Cook() {}public Cook(String id, String name, double salary) {super(id, name, salary);}@Overridepublic void work() {System.out.println("厨师炒菜");}
}

测试类:test

package demon5;public class test {public static void main(String[] args) {//创建对象并调用Manager m = new Manager("001","routing",16000,8000);System.out.println(m.getId() + "," + m.getName() + "," + m.getSalary() + "," + m.getBouns());m.work();m.eat();Cook c = new Cook();c.setId("002");c.setName("rout");c.setSalary(9000);System.out.println(c.getId() + "," + c.getName() + "," + c.getSalary());c.work();c.eat();}
}

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

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

相关文章

相机图像质量研究(7)常见问题总结:光学结构对成像的影响--镜片固化

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

Excel——分类汇总

1.一级分类汇总 Q:请根据各销售地区统计销售额总数。 第一步:排序,我们需要根据销售地区汇总数据,我们就要对【销售地区】的内容进行排序。点击【销售地区】列中任意一个单元格,选择【数据】——【排序】&#xff0c…

【快速上手QT】02-学会查看QT自带的手册QT助手

QT助手 为什么大家都说QT简单,第一点就是确实简单(bushi)。 我个人觉得最关键的点就是人家QT官方就给你准备好了文档,甚至还有专门的IDE——QtCreator,在QTCreator里面还有很多示例代码,只要你会C的语法以…

1.CVAT建项目步骤

文章目录 1. 创建project2. 创建task2.1. label 标签详解2.2.高级配置 Advanced configuration 3. 分配任务4. 注释者规范 CVAT的标注最小单位是Task,每个Task为一个标注任务。 1. 创建project 假设你并不熟悉cvat的标注流程,这里以图像2D目标检测为例进…

夜天之书 #95 GreptimeDB 社群观察报告

GreptimeDB 是格睿科技(Greptime)公司研发的一款开源时序数据库,其源代码[1]在 GitHub 平台公开发布。 https://github.com/GreptimeTeam/greptimedb 我从 2022 年开始知道有 GreptimeDB 这个项目。2023 年,我注意到他们的 Commun…

Hive 主要内容一览

Hive架构 用户接口:Client CLI(command-line interface)、JDBC/ODBC(jdbc访问hive) 元数据:Metastore 元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型&am…

项目02《游戏-11-开发》Unity3D

基于 项目02《游戏-10-开发》Unity3D , 任务:飞行坐骑 效果: 首先创建脚本, 绑定脚本, using UnityEngine; public class Dragon : MonoBehaviour{ [SerializeField] private float speed 10f; …

PCIE Order Set

1 Training Sequence Training Sequence是由Order Set(OS) 组成,它们主要是用于bit aligment,symbol aligment,交换物理层的参数。当data_rate 2.5GT or 5GT 它们不会被扰码(scramble),当date_rate 8GT or higher 根据特殊的规…

Nginx中logs的nginx.pid文件引发的问题

Nginx中logs的nginx.pid文件引发的问题 Q1:nginx: [error] CreateFile() "D:\software\nginx-1.22.1/logs/nginx.pid" failed (2: The system cannot find the file specified)Q2:nginx: [error] invalid PID number "" in "D:…

HiveSQL——借助聚合函数与case when行转列

一、条件函数 if 条件函数 if函数是最常用到的条件函数&#xff0c;其写法是if(xn,a,b), xn代表判断条件&#xff0c;如果xn时&#xff0c;那么结果返回a ,否则返回b。 selectif(age < 25 or age is null, 25岁以下, 25岁以上) as age_cnt,count(1) as number from table…

[项目管理] 如何使用git客户端管理gitee的私有仓库

最近发现即使翻墙也无法g使用ithub了&#xff0c;需要把本地的项目搬迁到新的git托管平台。 gitee 是一个国内开源项目托管平台&#xff0c;是开源开发者、团队、个人进行 git 代码管理和协作的首选平台之一。本文将详细介绍如何向 gitee 提交私有项目。 注册 Gitee 账号并创建…

【Linux权限】

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 扩展知识&#xff1a…