抽象类和抽象方法.txt 1.5 KB

123456789101112131415161718192021222324252627
  1. 抽象类和抽象方法:
  2. 当我们在做子类共性特征功能抽取的时候,有些方法在父类中是没有具体功能体现的。
  3. 这时候就需要抽象类了。
  4. Java中,如果一个方法,没有方法体,就应该被定义为抽象方法。
  5. 如果类中有了抽象方法,那么这个类就必须定义为抽象类
  6. 抽象类和抽象方法必须使用abstract关键字进行修饰:
  7. 抽象类:
  8. public abstract class 类名{
  9. 抽象方法:
  10. public abstract void 回家();
  11. }
  12. 特点:
  13. 1、抽象方法必须存在于抽象类中,但是抽象类不只有抽象方法,还有具体方法。
  14. 2、抽象类是不能实例化,也就是不能创建对象的。
  15. 3、抽象方法存在的唯一意义,就是被子类重写。
  16. 4、抽象类的子类,要么重写父类的抽象方法,要么子类也必须是抽象类。
  17. 案例需求:
  18. 定义猫类(Cat)和狗类(Dog)
  19. 猫的成员方法:eat(){猫吃鱼} drink(){喝水...}
  20. 狗的成员方法:eat(){狗吃肉} drink(){喝水...}
  21. 实现步骤:
  22. 1、猫类和狗类存在共性特征,应该向上抽取出一个动物类Animal
  23. 2、父类Animal中不能把eat方法具体描述清楚,所以定义成抽象方法。
  24. 3、抽象方法需要存活在抽象类中,那么就要将Animal定义为抽象类。
  25. 4、让Cat和Dog分别继承Animal,并且抽象eat()方法
  26. 5、编写测试类,创建Cat和Dog对象,分别调用eat()和drink()方法进行测试。