1.定义抽象类Person,类中包含抽象方法speak(),定义子类Teacher类和子类Worker类,分别实现抽象方法speak(),分别显示教师说的话和工人说的话。在测试类Main中定义Teacher类和Worker类的上转型对象,调用speak()方法显示信息。

输出结果:
王老师说上课!
张工说休息一会儿!
要求:
(1)必须有抽象类和抽象方法、继承、重写和上转型
(2)“王老师”和“张工”分别是name属性的值
(3)类中的属性必须是私有属性
(4)理解什么是多态

  1. abstract class Person{
  2. private String name;
  3. public Person(String name){
  4. this.name=name;
  5. }
  6. public abstract void speak();
  7. }
  8. class Teacher extends Person{
  9. public Teacher(String name){
  10. super(name);
  11. }
  12. public void speak(){
  13. System.out.println("王老师说上课!");
  14. }
  15. }
  16. class Worker extends Person{
  17. public Worker(String name){
  18. super(name);
  19. }
  20. public void speak(){
  21. System.out.println("张工说休息一会儿!");
  22. }
  23. }
  24. public class Main{
  25. public static void main(String [] args){
  26. Person a=new Teacher("王老师");
  27. a.speak();
  28. Person b=new Worker("张工");
  29. b.speak(); //多态
  30. }
  31. }