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

【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();
    }
}

在这里插入图片描述


http://www.kler.cn/a/592441.html

相关文章:

  • VBA技术资料MF281:驱动器列表和类型
  • 学习threejs,构建THREE.ParametricGeometry参数化函数生成几何体
  • 基于 Quest 摄像头数据开发的原理介绍【Unity Meta Quest MR 开发教程】
  • 微前端 qiankun vite vue3
  • 使用码云搭建CocoaPods远程私有库
  • 人事档案管理系统基于Spring BootSSM
  • LS-NET-006-思科MDS 9148S 查看内存
  • 【微服务】基于Lambda ESM的预留模式调整Kafka ESM吞吐量的实战
  • Spring Boot集成MyBatis与MySQL
  • Swagger-告别手写文档
  • 第十五届蓝桥杯C/C++组:宝石组合题目(从小学奥数到编程题详解)
  • 【嵌入式Linux】基于ArmLinux的智能垃圾分类系统项目
  • 构建高效复杂系统的关键:架构与模块详解
  • 【Java】Mybatis学习笔记
  • k8s常用知识点总结
  • Matlab 汽车振动多自由度非线性悬挂系统和参数研究
  • USB(Universal Serial Bus)详解
  • ETL中的实用功能以及数据集成方式
  • 基于Spring Boot的流浪动物救助平台的设计与实现(LW+源码+讲解)
  • Vmware中的centos7连接上网