java抽象类的应用

本文介绍了Java中的抽象类特点,包括不能实例化、必须由子类继承并重写所有抽象方法。还讨论了关键字`extends`在继承中的应用,以及`final`和`super`的关键字作用。`final`用于防止子类覆盖方法或扩展类,`super`用于调用父类构造方法和成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抽象类的特点

**1.**不能直接创建new抽象类对象:extends;
**2.**必须用一个子类来继承抽象父类;
**3.**子类必须覆盖重写抽象父类当中的所有的抽象方法;
**4.**创建子类对象进行使用;
在这里插入图片描述
extends关键字,继承了Animal抽象类
注意事项:1.名字一样,没有abstract关键字
2.有大括号,里面有方法的实现
//覆盖重写
在这里插入图片描述
在这里插入图片描述
创建的时候,勾选抽象,abstract关键字出现,也意味着这是我们的一个抽象类。
修饰符 abstract 返回值 方法名:
没有大括号,没有方法体,没有实现的方法

在这里插入图片描述
创建了子类喵喵的对象
dog.howtoear();子类旺旺吃东西的方法调用
重写show()方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
父类【私有的成员变量,getter/setter,无参构造方法、有参构造方法、实现的方法】
子类【extends,新增的成员变量,无参构造方法、有参构造方法,super,实现方法】
测试类【创建对象,使用有参构造方法,调用】

关键字

final关键字
修饰方法;方法使用final修饰,则该方法不能被子类覆盖。例如:
下面的代码会发生编译错误;
class AA{
public final void method(){}
}
class BB extends AA{
public void method() //该语句发生编译错误
}
super关键字
调用父类的构造方法
1、子类不能继承父类构造方法。要创建子类对象,需要使用默认构造方法或子类定义构造方法。
2.Java语言规定,在子类对象时,必须先创建该类的所有父类对象。因此,在编写子类的构造方法时,必须保证他能够调用父类的构造方法。
在子类中使用super关键字,它用来引用当前对象的父类对象。
可用于下面三种情况。
(1)在子类中调用父类中被覆盖的方法,格式为;
super.methodName([paramlist])
(2)在子类中调用父类的构造方法,格式为;
super([paramlist])
(3)在子类中访问父类中被隐藏的成员变量,格式为:
super.variableName
final关键字作用:防止类扩展和方法覆盖
super关键字作用:访问当前类的父类对象
this关键字作用:访问本类
(1)abstract类必须被继承而final类不能白继承,所以final和super也不能在定义类时时同时使用;
(2)super和this都可以调用构造方法,他们必须是有构造方法中的第一条语句,所以最多只有一条这样的语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值