抽象类和抽象方法

一:abstract关键字
1.抽象的
2.可以修饰的对象:类和方法
3.一旦类被抽象,则不可实例化(即造对象)
4.抽象类中一定有构造器,便于子类实例化时调用
5.开发中都会提供抽象类的子类,让子类对象实例化
6.抽象方法和抽象类的定义:

public abstract Circle{

}
public abstract void show();

7.抽象方法只有方法的声明,没有方法体
8.包含抽象方法的类一定是抽象类
9.若子类没有重写了父类中的所有抽象方法(包括间接父类的方法),则子类需要被定义为抽象类,若子类重写了父类的抽象方法,则子类不为抽象类。
10.abstract不能用来修饰:属性、构造器等结构
11.abstract不能用来修饰私有方法、静态方法、final方法和类

二:抽象类的作用:
老是在想为什么要引用抽象类,一般类不就够用了吗。一般类里定义的方法,子类也可以覆盖,没必要定义成抽象的啊。

其实不是说抽象类有什么用,一般类确实也能满足应用,但是现实中确实有些父类中的方法确实没有必要写,因为各个子类中的这个方法肯定会有不同,所以没有必要再父类里写。当然你也可以把抽象类都写成非抽象类,但是这样没有必要。

而写成抽象类,这样别人看到你的代码,或你看到别人的代码,你就会注意抽象方法,而知道这个方法是在子类中实现的,所以,有个提示作用。

三:抽象类的匿名子类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值