复习笔记05 抽象类

1 抽象类的特点

   抽象方法只能在抽象类里面

   抽象类和抽象方法必须被abstract修饰

   抽象类不能创建对象(不能实例化)

   抽象类中可以有非抽象的方法

   抽象类和类的关系也是继承

   一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类

2 抽象类的成员的特点

   成员变量:

     可以有成员变量

     可以有常量

   成员方法:

     可以有抽象方法

     可以有非抽象方法

   构造方法:

     可以有构造方法的,需要对抽象类的成员变量进行初始化

3 抽象类的细节

 A:抽象类关键字abstract可以和哪些关键字共存?

  1.private:

    私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。

  2.final: 

    抽象类不能和final共存,因为抽象类自身无法创建对象,我们需要通过子类创建对象,一旦抽象类使用final关键字,那么抽象类就没有子类

    抽象方法不能和final共存,因为抽象方法后期需要被子类重写,一旦final无法重写   

  3.static:

     抽象方法不能和static关键字共存,因为一旦加static我们就可以通过类名直接访问抽象方法,由于抽象方法没有方法体,没有任何意义,也不允许这样做

B:抽象类中是否可以不定义抽象方法?

  是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用

C:抽象类是否有构造函数?
  有,抽象类的构造函数,是由子类的super语句来调用,用于给抽象类中的成员初始化

posted @ 2018-12-12 20:15  陈某啊  阅读(145)  评论(0编辑  收藏  举报