先创建一个People类
public class People {
public String name;
public int age;
public boolean sex;
}
再创一个员工类来继承people类
public class Employee extends People{
// 其他属性
// 继承People之后自动拥有
// 添加工资属性
public double salary = 2000;
public void updateSalary(double salary){
this.salary += salary;
}
}
分别创建waiter,cook,cashier类继承员工类
public class Cook extends Employee{
public void makeFood() {
System.out.println("做饭!");
}
}
public class Cashier extends Employee{
// Cashier自动拥有Employee类中的属性
public void getMoney(){
System.out.println("收钱!");
}
}
public class Waiter extends Employee{
// 添加一个方法
public void printFood() {
System.out.println("这里是菜谱");
}
}
继承得到了员工以及人的所有属性,也可以在进行定义自己的属性和方法
继承会得到自己所有父类的属性和方法
再定义一个Boss类继承People
public class Boss extends People{
// 开除员工
public void fireWaiter(Waiter waiter){
System.out.println(waiter.name+",你被开除了!");
}
public void fireEmployee(Employee employee) {
System.out.println(employee.name+",你被开除了!");
}
}
下面是一个MainClass类,添加main方法进行一些例子展示
public class MainClass {
public static void main(String[] args) {
// 从people中继承的属性和方法也传给了他的子类的子类
Waiter waiter = new Waiter();
waiter.name = "张三";
waiter.age = 21;
waiter.sex = true;
Cashier cashier = new Cashier();
cashier.name = "李四";
cashier.age = 23;
cashier.sex = true;
System.out.println(cashier.name+"的工资是"+cashier.salary);
cashier.updateSalary(1000);
System.out.println(cashier.name+"的工资是"+cashier.salary);
// Class A extends B 表示类A继承自类B
// 子类拥有父类的属性和方法
// 只能继承父类的方法 不能继承兄弟的属性和方法
Boss boos = new Boss();
boos.name = "老板";
boos.age = 25;
boos.sex = true;
boos.fireWaiter(waiter);
// 子类可以代替父类对象使用
// 父类中的属性和方法 子类中都有
// 子类可以代替父类对象使用
// 子类可以增加父类没有的属性和方法
// 父类不能代替子类对象使用 父类没有子类的全部属性和方法
boos.fireEmployee(waiter);
}
}