抽象类

抽象类

抽象类的引入

抽象类的引入

空实现: 就是给出了代码块,但是没有实现
注意: 空实现也是实现了

抽象方法的实现没有意义,但是存在有意义?
存在有意义,如果父类方法不存在,那么编译报错,所以抽象方法需要存在,但是实现没有意义,所以定义为抽象方法
在Java中,如果一个没有方法体,没有实现的方法定义为抽象方法,一个类中一旦出现抽象方法,该类一定是一个抽象类

抽象类的特点

抽象类的特点
1.抽象类和抽象方法一定要使用abstract关键字来声明
2.抽象类中不一定有抽象方法
3.没有抽象方法的类有意义吗? – 有意义 不让外界创建对象
4.抽象类不能实例化
5.抽象类如果想要实例化怎么办? - 可以利用多态 父类引用指向子类对象,只不过这个父类是一个抽象类而已
6.如果作为一个抽象类的子类,那么该子类应该具备什么特点?
a.如果子类不想实现父类的抽象方法,那么子类也可以自动升级为抽象类
b.如果子类想要实现父类的抽象方法,那么子类就必须实现父类所有的抽象方法
7.抽象类中可以有抽象方法,可以有,成员变量,成员方法,常量,构造方法,静态方法
成员变量:可以有,用来给子类继承使用
成员方法:可以有,用来给子类继承使用
常量:可以有,用来给子类继承使用
构造方法: 帮助所有子类初始化父类继承过来的成员变量
抽象类是一个为所有子类服务的类
8.static final private可以用来修饰抽象方法吗?
static和abstract不能共存: static为了方便调用,abstract为了给子类重写,没有方法体
abstract和final二者构成冲突,final修饰的方法不能被子类重写,abstract修饰的方法就是用来给子类重写,所以冲突
abstract和private二者构成冲突,private修饰的方法不能够被继承,既然不能被继承,就没有重写,而abstract修饰的方法就是用来给子类重写,所以冲突
9.抽象方法可以使用public 和 protected修饰吗?
10.综上诉述: 抽象类的所有的抽象方法用来给子类重写
抽象类的所有非抽象方法用来给子类使用
抽象类的构造方法用来给子类初始化父类继承过来的成员
抽象类的成员变量用来给子类使用
首相类就是一个彻头彻尾的服务类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值