第五周
本周继续复习Java
static
继承:
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承构造方法和this、super
1.继承中构造方法的访问特点是什么?
●子 类不能继承父类的构造方法,但是可以通过super调用
●子类构造方法的第一行, 有一个默认的super();
●默认先访问父类中无参的构造方法,再执行自己。
●如果想要方法文父类有参构造,必须手动书写。
package demo3; /** * ClassName: Employer * Package: demo3 * Description: * * @Author: 20213923ysf * @Create: 2023/7/21 - 22:54 */ public class Employer { private String id; private String name; private double salary; public Employer() { } public Employer(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 eat(){ System.out.println("吃饭(吃米饭)"); } public void work(){ System.out.println("员工在工作"); } }
package demo3; /** * ClassName: cook * Package: demo3 * Description: * * @Author: 20213923ysf * @Create: 2023/7/21 - 22:54 */ public class Cook extends Employer{ public Cook() { } public Cook(String id, String name, double salary) { super(id, name, salary); } @Override public void work() { System.out.println("厨师正在炒菜"); } }
package demo3; /** * ClassName: manger * Package: demo3 * Description: * * @Author: 20213923ysf * @Create: 2023/7/21 - 22:54 */ public class Manger extends Employer{ private double bouns; //空参构造 public Manger() { } //带全部参数的构造 //父类+子类 public Manger(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; } @Override public void work() { System.out.println("经理管理其他人"); } }
package demo3; /** * ClassName: Test * Package: demo3 * Description: * * @Author: 20213923ysf * @Create: 2023/7/21 - 23:05 */ public class Test { public static void main(String[] args) { Manger m = new Manger("2021","张三", 10000,8000); System.out.println(m.getId()+","+m.getName()+","+m.getSalary()+","+m.getBouns()); m.eat(); m.work(); Cook c = new Cook("2022","李四",5000); System.out.println(c.getId()+","+c.getName()+","+c.getSalary()); c.eat(); c.work(); c.setId("2023"); c.setName("王五"); c.setSalary(8000); System.out.println(c.getId()+","+c.getName()+","+c.getSalary()); //输出 /*2021,张三,10000.0,8000.0 吃饭(吃米饭) 经理管理其他人 2022,李四,5000.0 吃饭(吃米饭) 厨师正在炒菜 2023,王五,8000.0*/ } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix