抽象类(abstract)
1、概念
抽象类,关键字abstract。我的理解就是泛指的意思,就好比说你建立一个类,叫Animal类,里面有一个eat()方法,但是这个动物类指的是什么动物呢?这个可以是小猫,也可以是小狗,还有这个eat方法,是吃什么呢?吃鱼还是吃骨头?所以泛指一类的都可以理解为抽象类。当然通过程序来看,抽象类一下就看出来了:
这样在class前面加上关键字abstract就是修饰抽象类,其中抽象类的方法是有要求的,就是返回值前面也要加上关键字abstract,而且没有方法体。抽象类中不一定有抽象方法,但是抽象方法一定在抽象类里面!
2、使用方式
1、抽象类不能直接创建对象。就拿上面的Animal来说,我们这样写Animal a = new Animal();这样的写法是错误的。
2、子类继承抽象类父类,必须重写父类中所有的抽象方法。我们创建一个Dog类继承Animal类,就要这样写:
3、父类抽象类也可以创建构造方法,在创建子类对象的时候会自动调用父类构造方法。