java基础——抽象类

  当定义一个类时,需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的,比如定义动物Animal类时,shout()方法是用来表示动物的叫声,但是针对不同的动物,叫声当然也不同,所以shout()方法中无法准确的描述动物的叫声。

  针对上述情况,java允许在定义方法时不写方法体*,而这种不包含方法体的方法为抽象方法,抽象方法必须用abstract关键字来修饰:

注1 方法体:abstract void shout(){}........{}里就是方法体,如果没有{}就没方法体,有{}但里面没内容,则表示方法体为空,但有方法体,shout是方法名,方法体即为方法的内容。没有方法体的方法是需要你去实现的,空方法体的方法是需要你去覆盖的。


    需要注意的是,抽象类是不可以被实例化的,因为抽象类中有可能包含抽象方法,而抽象方法是没有方法体的,不可以被调用,如下图,如果直接调用抽象类中定义的方法,就会报错:


所以当我们想调用抽象类中定义的方法时,必须先创建一个子类,来继承抽象类的方法,这是需要使用extends,在子类中将抽象类的抽象方法进行实现,如下图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值