java面向对象20_抽象类(abstract)

本文介绍了抽象类在Java中的概念和应用场景,包括抽象类的定义、使用方式以及特点。抽象类用于描述类的共性,包含抽象方法,即只有声明没有实现的方法。抽象类不能被实例化,而抽象方法必须在子类中实现。同时,文章还探讨了抽象方法的特性,强调了抽象方法与抽象类的关系,并提醒读者抽象关键字不能与其他特定修饰符共存。
摘要由CSDN通过智能技术生成

1.抽象类概述

当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体。

但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但是无法准确知道子类如何实现这些方法。比如一个图形类应该有一个求周长的方法,但是不同的图形求周长的算法不一样。那该怎么办呢?

分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。

例如:描述讲师的行为:工作。

描述助教的行为:工作。

描述班主任的行为:工作。

讲师、助教、班主任之间有共性,可以进行向上抽取。抽取它们的所属共性类型:员工。由于讲师、助教、班主任都具有工作功能,但是他们具体工作内容却不一样。这时在描述员工时,发现了有些功能不能够具体描述,那么这些不具体的功能,需要在类中标识出来,通过java中的关键字abstract(抽象)来修饰。

方法只有声明没有实现,用abstract来修饰,该方法就是抽象方法。抽象方法必须定义在抽象类中,该类也用abstract修饰。

2.抽象类的使用

抽象类的定义:权限修饰符 abstract class 类名 {}

抽象方法的定义:权限修饰符 abstract 返回值类型 方法名(参数列表) ;

【示例】抽象类&抽象方法的定义


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值