当前位置: 首页 > news >正文

【java面型对象进阶】------继承实例

继承结构下的标准Javabean

在这里插入图片描述

代码如下:
在这里插入图片描述

package demo10;

//定义员工父类
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;
    }

    //get和set方法
    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("吃米饭");
    }
}

package demo10;

//经理子类 继承 员工父类
public class Manager extends Employee{

    //成员变量
    private double bonus;

    //构造方法
    public Manager(){
        //super(); //默认存在
    }

    //带全部参数的构造
    //父类 + 子类 所有的成员变量
    public Manager(String id, String name, double salary, double bonus) {
        //将共性传递给父类进行赋值
        super(id, name, salary);
        this.bonus = bonus;
    }

    //get和set方法
    //由于父类中已经存在了id,name,salary对应的get和set方法
    //可以直接通过对象来调用
    //所以这里就不需要再写一遍了
    public double getBonus() {
        return bonus;
    }

    public void setBonus(double bonus) {
        this.bonus = bonus;
    }

    //重写父类的work方法
    @Override
    public void work()
    {
        System.out.println("经理管理其他人");
    }
}

package demo10;

//厨师子类 继承 员工父类
public class cook extends Employee{

    //不需要写额外成员变量了
    //cook 需要的成员变量 已经抽取到父类中了



    //构造方法

    public cook() {
        //默认存在
        //super();
    }

    //父类 + 子类 所有的成员变量
    public cook(String id, String name, double salary) {
        //将共性传递给父类进行赋值
        super(id, name, salary);
    }


    //get和set方法
    //由于父类中已经存在了id,name,salary对应的get和set方法
    //可以直接通过对象来调用
    //所以这里就不需要再写一遍了

    //重写父类的work方法
    @Override
    public void work(){
        System.out.println("炒菜");
    }
}

package demo10;

public class test {
    public static void main(String[] args) {
        //全参构造创建经理对象并进行调用
        Manager m = new  Manager("007","张三",15000,5000);


        //子类继承了父类的get和set方法,所以可以直接调用
        System.out.println(m.getId()+","+m.getName()+","+m.getSalary()+","+m.getBonus());

        //调用方法
        m.work();//父类中被重写的方法
        m.eat();//继承自父类的方法

        System.out.println("-----------------");

        //空参构创建厨师对象并进行调用

        cook c=new cook();

        //通过set方法进行赋值
        c.setId("008");
        c.setName("李四");
        c.setSalary(10000);

        //子类继承了父类的get和set方法,所以可以直接调用
        System.out.println(c.getId()+","+c.getName()+","+c.getSalary());

        //调用方法
        c.work();
        c.eat();
    }
}

在这里插入图片描述

相关文章:

  • 【FPGA开发】FPGA点亮LED灯(增加按键暂停恢复/复位操作)
  • MySQL查询某个字段的几百个值,是否存在于表中,并列出不存在表中的值(不用再过滤)
  • Linux驱动学习笔记(四)
  • 【视频】文本挖掘专题:Python、R用LSTM情感语义分析实例合集|上市银行年报、微博评论、红楼梦、汽车口碑数据采集词云可视化
  • 前端Html5 dragenter面试题及参考答案
  • CompletableFuture详解
  • 关于android开发中,sd卡的读写权限的处理步骤和踩坑
  • dify+deepseek联网搜索:免费开源搜索引擎Searxng使用(让你的大模型也拥有联网的功能)
  • Elasticsearch8.17 生产集群使用优化
  • 【AIGC】Win10系统极速部署Docker+Ragflow+Dify
  • SAP-ABAP:AP屏幕增强技术手册-详解
  • 5.2 Alpha to coverage in Depth
  • 在Ubuntu上安装MEAN Stack的4个步骤
  • go面向对象编程三大特性,封装、继承和多态
  • leetcode98-验证二叉搜索树
  • 【2025】基于Springboot + vue实现的毕业设计选题系统
  • Transaction rolled back because it has been marked as rollback-only问题解决
  • windows克隆项目找不到,修改git bash中存储的账号密码
  • 如何查看安卓版本号的方法(例如查看是13、12、11、10...)
  • 齿轮热处理学习笔记分享
  • 习近平就乌拉圭前总统穆希卡逝世向乌拉圭总统奥尔西致唁电
  • 病重老人取钱在银行门口去世,家属:已协商一致
  • 南方降水频繁暴雨连连,北方高温再起或现40°C酷热天气
  • 问责!美国海军对“杜鲁门”号航母一系列事故展开调查
  • 牛市早报|4月新增社融1.16万亿,降准今日正式落地
  • 为什么越来越多景区,把C位留给了书店?