图解:
代码:
父类
package practice01;
public class Person {
private String id;
private String name;
private double salary;
public Person() {
}
public Person(String id, String name, double salary) {
this.id = id;
this.name = name;
this.salary = salary;
}
public void eat(){
System.out.println("吃米饭");
}
public void work(){
System.out.println("员工在工作");
}
/**
* 获取
* @return id
*/
public String getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return salary
*/
public double getSalary() {
return salary;
}
/**
* 设置
* @param salary
*/
public void setSalary(double salary) {
this.salary = salary;
}
}
两个子类
package practice01;
public class manager extends Person{
private double bonus;
//子类的无参构造
public manager() {}
//子类的全参构造
//子类+父类
public manager(String id, String name, double salary, double bonus) {
super(id, name, salary);
this.bonus = bonus;
}
//子类的set/get方法
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
@Override
public void work(){
System.out.println("员工在管理他人");
}
}
package practice01;
public class chef extends Person {
@Override
public void work(){
System.out.println("员工在炒菜");
}
public chef() {
}
public chef(String id, String name, double salary) {
super(id, name, salary);
}
}
测试类:
package practice01;
public class Test {
public static void main(String[] args) {
//下面用了两种赋值方法
manager m = new manager("heima001","张三",15000,8000);
System.out.println(m.getId()+m.getName()+m.getSalary()+m.getBonus());
m.work();
m.eat();
chef c = new chef();
c.setId("heima002");
c.setName("李四");
c.setSalary(8000);
System.out.println(c.getId()+c.getName()+c.getSalary());
c.work();
c.eat();
}
}