1抽象类的概述

1.1什么是抽象类?

一种特殊的父类 里面可以写抽象方法

1.2什么是抽象方法?

当我们将共性方法提取到父类中之后,发现这个方法在父类中无法给出具体的描述了,而且这个方法还是子类中必须要有的方法

2 抽象类的定义格式

在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类
抽象类和抽象方法必须使用 abstract 关键字修饰

例:访问修饰符   abstract   返回值类型   方法();

注意事项:
1.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
2.存在构造方法 ---交给子类通过super进行访问的 
3.抽象类不能实例化:无法通过new去创建自身的对象的【new 构造方法】 new 父类
4.抽象类的子类 ---1.要么重写抽象类的所有方法 ---2.要么也是一个抽象类

3 abstract关键字冲突问题:


final:被abstract修饰的方法,强制要求重写子类,被final修饰的方法子类不能重写
private:被abstract修饰的方法,强制要求重写子类,被private修饰的方法子类不能重写
static:被static修饰的方法可以直接类名调用,类名调用抽象方法没有意义 两个关键字不能同时还出现


4 抽象类中总结成员特点


成员变量
可以是变量
也可以是常量
构造方法
有构造方法,但是不能实例化
那么,构造方法的作用是什么呢?用于子类访问父类数据的初始化
成员方法
可以有抽象方法:限定子类必须完成某些动作
也可以有非抽象方法:提高代码复用性

        

更多推荐