java 继承方法 这个问题的编写谁会

img


上面的解题代码请求请求,不是很会,想找一个正确的解题思路进行模仿的思考

给个例子做参考,文件要保存为MyTest.java,或者修改代码里的MyTest为你的文件名:

class Staff{
    String name;
    int age;
    String sex;
    public Staff(String name, int age, String sex){
        this.name =name;
        this.age = age;
        this.sex = sex;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public void showInfo(){
        System.out.println("姓名:"+this.name+" 年龄:"+this.age+" 性别:"+this.sex);
    }
} 

class Manager extends Staff {
    String post;
    int salary;

    public Manager(String name, int age, String sex, String post, int salary) {
        super(name, age, sex);
        this.post = post;
        this.salary = salary;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }
    public void showInfo(){
        System.out.println("姓名:"+this.name+" 年龄:"+this.age+" 性别:"+this.sex+" 职务:"+this.post+" 年薪:"+this.salary);
    }

}

class Employee extends Staff {
    String department;
    int monthly;
    public Employee(String name, int age, String sex, String department, int monthly) {
        super(name, age, sex);
        this.department = department;
        this.monthly = monthly;
    }
    public String getDepartment() {
        return department;
    }
    public void setDepartment(String department) {
        this.department = department;
    }
    public int getMonthly() {
        return monthly;
    }
    public void setMonthly(int monthly) {
        this.monthly = monthly;
    }
    public void showInfo(){
        System.out.println("姓名:"+this.name+" 年龄:"+this.age+" 性别:"+this.sex+" 部门:"+this.department+" 月薪:"+this.monthly);
    }
}

public class MyTest{
    public static void main(String[] args) {
        Manager manager = new Manager("张三", 38, "男", "总经理", 3000000);
        Employee employee = new Employee("李四", 28, "女", "研发部", 5300);
        manager.showInfo();
        employee.showInfo();
    }
}

img

你就按照给的提示 写出一个基础的类,让其他的来继承,在新的中就自动有了继承的属性了

  • 定义员工类

package com.test;

/**
 * @author valley
 * @date 2022/5/5
 * @Description TODO
 */
public class Person {
    private String name;
    private int age;
    private String gender;

    public Person(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String show() {
        return
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }
}

  • 定义管理层类

package com.test;

/**
 * @author valley
 * @date 2022/5/5
 * @Description TODO
 */
public class Leader extends Person{

    private String zhiwu;

    private Double yearSalary;

    public Leader(String name, int age, String gender,String zhiwu,Double yearSalary) {
        super(name, age, gender);
        this.zhiwu=zhiwu;
        this.yearSalary=yearSalary;
    }

    @Override
    public String show() {
        return super.show()+
                ",zhiwu='" + zhiwu + '\'' +
                ",yearSalary=" + yearSalary;
    }
}

  • 定义职员类

package com.test;

/**
 * @author valley
 * @date 2022/5/5
 * @Description TODO
 */
public class Slave extends Person{
    private String department;
    private Double monSalary;
    public Slave(String name, int age, String gender,String department,Double monSalary) {
        super(name, age, gender);
        this.department=department;
        this.monSalary=monSalary;
    }

    @Override
    public String show() {
        return super.show()+
                ",department='" + department + '\'' +
                ",monSalary=" + monSalary;
    }
}
  • 测试类

package com.test;

/**
 * @author valley
 * @date 2022/5/5
 * @Description TODO
 */
public class Test {
    public static void main(String[] args) {
        Leader leader=new Leader("李刚",30,"男","CEO",1000000d);
        System.out.println(leader.show());
        Slave slave=new Slave("小慧",28,"女","财务部",10000d);
        System.out.println(slave.show());
    }
}
  • 运行效果

img

若有帮助,谢谢采纳~