java培训:什么是抽象类?怎么定义?

news/2024/7/7 23:45:49

  什么是抽象类?怎么定义?这是属于java技术里面的一个知识点,本期教程就是围绕这个问题做的相关介绍,当定义一个类时,常常需要定义一些成员方法描述类的行为特征,但有时这些方法的实现方式是无法确定的。例如,在定义Animal类时,shout( )方法用于描述动物的叫声,但是不同动物的叫声是不同的,因此在shout( )方法中无法准确地描述动物的叫声。

  针对上面描述的情况,Java提供了抽象方法来满足这种需求。抽象方法是使用abstract关键字修饰的成员方法,抽象方法在定义时不需要实现方法体。抽象方法的定义格式如下:

  abstract void方法名称 (参数);

  当一个类包含了抽象方法,该类必须是抽象类。抽象类和抽象方法一样,必须使用abstract关键字进行修饰。

  抽象类的定义格式如下:

  abstract class 抽象类名称{

  访问权限返回值类型 方法名称(参数){

  return [返回值] ;

  访问权限abstract返回值类型抽象方法名称(参数) ;

  //抽象方法,无方法体

  }

  从以上格式可以发现,抽象类的定义比普通类多了一些抽象方法,其他地方与普通类的组成基本上相同。

  抽象类的定义规则如下。

  (1)包含一个以上抽象方法的类必须是抽象类。

  (2)抽象类和抽象方法都要使用abstract关键字声明。

  (3)抽象方法只需声明而不需要实现。

  (4)如果一个类继承了抽象类,那么该子类必须实现抽象类中的全部抽象方法。

  下面通过一个案例学习抽象类的使用,如文件4-10所示。

1

  在文件4-10中,第2~5行代码是声明了一个抽象类

  Animal,并在Animal类中声明了个抽象方法 shout ( );第9~11行代码在子类Dog中实现父类Anima的抽象方法shout( );第17行代码通过子类的实例化对象调用shout( )方法。

  注意:

  使用abstract关键字修饰的抽象方法不能使用private修饰,因为抽象方法必须被子类实现,如果使用了private声明,则子类无法实现该方法。


http://lihuaxi.xjx100.cn/news/242505.html

相关文章

python的turtle绘图体系入门必看(二)

1 turtle画笔控制函数 画笔操作后一直有效,一般成对出现 turtle.penup() 别名 turtle.pu() 画笔抬起,海龟在飞行(不在画布上留下图案) turtle.pendown() 别名 turtle.pd() 画笔落下,海龟在爬行 turtle.pensize(width) 别名 turtle.width(wi…

回调函数设计方法

引入:你显示器不亮了,你不知道怎么弄,那你就问在外地干IT的大表哥,你大表哥告诉你修理的方法,然后需要你自己来操作。你大表哥知道怎么弄,但是自己不去弄,而是由你去弄。换句话说,你…

DSL概述

为什么80%的码农都做不了架构师?>>> DSL探讨的问题 DSL本身只是一层为了表达的能力而做的浅浅封装,在你考虑DSL的时候你应该将绝大部分的精力花在构建语义模型上,但反过来说DSL的设计从某种程度上来说帮你理清了语义模型的需求&a…

Python数字类型及操作汇总(入门级)

1. 整数类型 2. 浮点数类型 带有小数点及小数的数字 取值范围和精度都有限制,但常规计算可忽略不计(基本无限制) 注意:浮点数运算存在不确定尾数(不是bug,一般发生在10-16左右,因为计算机内部用二进制表示&#xff0c…

php -find(),php – beforeFind()添加条件

使用beforeFind(),如果希望find使用它,则应返回已修改的$queryData数组.这是你目前的问题.public function beforeFind($queryData) {parent::beforeFind();$queryData[conditions] array(client_id > 2);return $queryData;}但是,您还有其他一些小问题可能会导致您遇到问题…

女生学软件测试有哪些优势

对于软件测试这个岗位,相信大家都有听说过,最近几年,越来越多的女性加入到互联网技术行业,选择最多的岗位就是软件测试,那么到底女生学软件测试有哪些优势呢?来看看下面的详细介绍。 女生学软件测试有哪些优势?首先咱…

对派生类的初始化

对派生类的初始化,从派生类的构造函数开始用初始式进行初始化。初始式的格式:派生类的构造函数(参数表):基类构造函数(参数表),对象成员(参数表)...普通成员&…

PHP流程控制语句例题,第四堂、php流程控制语句

php流程控制语句条件控制语句和循环控制语句是两种基本的语法结构。它们都是用来控制程序执行流程的,也是构成程序的主要语法基础。程序的3种控制结构条件控制语句循环控制语句跳转语句包含语句1.程序设计的结构大致分为顺序结构,选择(分支)结构和循环结…