java 类 子类 对象 属性之间的关系,最好有例子。

2026年09月24日 08:16
有3个网友回答
网友(1):

abstract class 员工{
    private String 姓名;
    private String 工号;
    private double 工资;
    private String 奖金属性;
    public 员工(String 姓名, String 工号, double 工资, String 奖金属性){
        this.姓名 = 姓名;
        this.工号 = 工号;
        this.工资 = 工资;
        this.奖金属性 = 奖金属性;
    }
    //生成上面的set get方法。
}
class 张三 extends 员工{
    public 张三(String 姓名, String 工号, double 工资, String 奖金属性) {
        super(姓名, 工号, 工资, 奖金属性);
    }
}
class 经理 extends 员工{
    public 经理(String 姓名, String 工号, double 工资, String 奖金属性) {
        super(姓名, 工号, 工资, 奖金属性);
    }
}
/**
*测试类
**/
public class Util{
    public static void main(String[] args){
        //多态的理解思路
        员工 zhang = new 张三("张三","001",200.01,"年终奖");
    }
}

网友(2):

你先写几个class吧

网友(3):

员工类(Employee)是父类,有3个属性,姓名,工号,工资

经理类(Manager)是子类,继承了员工类的属性,但是经理类还有自己的新属性,奖金,

详细见测试类(Test)

/**
* 员工
*/
public class Employee {
// 姓名
private String name;
// 工号
private String empNo;
// 工资
private double salary;
public Employee(String name, String empNo, double salary) {
this.name = name;
this.empNo = empNo;
this.salary = salary;
}
@Override
public String toString() {
return "工号:" + this.getName() + ",姓名:" + this.getEmpNo() + ",工资:" + this.getSalary() + "元/月";
}
public String getName() {
return name;
}
public String getEmpNo() {
return empNo;
}
public double getSalary() {
return salary;
}
}

 

/**
* 经理
*/
public class Manager extends Employee {
// 奖金
private double bonus;
public Manager(String name, String empNo, double salary) {
super(name, empNo, salary);
this.bonus = 0;
}
/**
* 设置经理的奖金
*
* @param bonus
*/
public void setBonus(double bonus) {
this.bonus = bonus;
}
/**
* 经理的工资=基本工资+奖金
*/
@Override
public double getSalary() {
return super.getSalary() + this.bonus;
}
}

public class Test {
public static void main(String[] args) {
// 星爷作为员工,每月就0.001元
Employee xingYe = new Employee("周星驰", "007", 0.001);
System.out.println(xingYe);
// 棒子金正日每月作为员工有100000
Employee bangzi = new Manager("金正日", "xxx", 100000);
System.out.println(bangzi);
// 可是他作为经理,还有99999元的奖金
((Manager)bangzi).setBonus(99999);
System.out.println(bangzi);
}
}