一、概述
在OOP这个概念中,所有的对象都是通过类来描述的;但是并不是所有的类都是用来描述对象的。如果一个类没有包含足够的信息来描述一个具体的对象,这样的类称为抽象类。
抽象类:(1)抽象类不能实例化对象,如果实例化某个对象,编译无法通过。只有抽象类的非抽象子类可以创建对象(2)可以包含:成员变量、成员方法、构造方法等。(3)构造方法、类方法(用static修饰的方法)不能声明为抽象方法
抽象方法:(1)如果一个类包含抽象方法,那么该类一定是抽象类(2)任何子类必须重写父类的抽象方法,或者声明自身为抽象类
定义:abstract class 类名
二、示例:农民喂动物
Animal:抽象类--------getName()、move()、drink()
Reptile、Mammal:继承抽象类
蛇、老虎、山羊、兔子:分别继承Reptile或Mammal
fammer:bringWater()、feedWater(Animal animal)---- 负责将水带到指定的地方,然后动物移动去目的地,喝水
代码如下: