没有主体的方法称为抽象方法。它仅包含带有半冒号和前面的抽象关键字的方法签名。public abstract myMethod();

要使用抽象方法,您需要通过扩展其类并为其提供实现来继承它。

包含0个或多个抽象方法的类称为抽象类。如果它至少包含一个抽象方法,则必须将其声明为abstract。

扩展抽象类

在Java中扩展了抽象类后,您需要覆盖其中的所有抽象方法,或者将其声明为抽象。如果不这样做,将每个抽象方法生成一个编译时错误(即不重写)说:“subclass_name不是抽象的,不重写抽象方法abstractmethod_name在类名”。

示例

以下Java示例包含两个抽象类:一个是包含3个抽象方法的抽象类(MyClass),另一个是名称AbstractClassExample的类,该类扩展了较早的类。

在子类中,我们仅重写一个抽象方法(display())。import java.io.IOException;

abstract class MyClass {

public abstract void display();

public abstract void setName(String name);

public abstract void setAge(int age);

}

public class AbstractClassExample extends MyClass{

public void display(){

System.out.println("这是显示方法的子类实现 ");

}

public static void main(String args[]) {

new AbstractClassExample().display();

}

}

编译时错误

编译时,上述方法会产生以下编译时错误

输出结果AbstractClassExample.java:9: error: AbstractClassExample is not abstract and does

not override abstract method setAge(int) in MyClass

public class AbstractClassExample extends MyClass{

^

1 error

为了使该程序正常工作,您需要重写超类的所有抽象方法,或者使子类成为抽象,如下所示:abstract class MyClass {

public abstract void display();

public abstract void setName(String name);

public abstract void setAge(int age);

}

public abstract class AbstractClassExample extends MyClass{

public void display(){

System.out.println("这是displaymethod的子类实现 ");

}

}

abstract的子类的错误表达JAVA_如果子类没有覆盖Java中的抽象方法,会发生什么?...相关推荐

  1. Error:(13, 8) 错误: xxx不是抽象的, 并且未覆盖xxx中的抽象方法onBindViewHolder(BaseSimpleRecyclerAdapter.ViewHolder,int)

    刚才遇到一个问题,编译通过,但是在打包时报错. 特在此记录一下. 下图中的BaseSimpleRecyclerAdapter是一个抽象类. 开发环境: Android Studio 2.2 Build ...

  2. java错误: xxx不是抽象的, 并且未覆盖xxx中的抽象方法

    错误: xxx不是抽象的, 并且未覆盖xxx中的抽象方法 1.在implement 接口时,要覆盖接口中的所有抽象方法.java是注意大小写的,所以方法名称和对应传参的数据类型和顺序要写对,否则也会提 ...

  3. 同包类 和 其他类 java_关于继承:为什么Java中的“protected”修饰符允许访问同一个包中的其他类?...

    在Java中,具有"受保护"修饰符的成员不仅可以由同一个类和子类访问,还可以由同一个包中的每个人访问? 我想知道语言设计的原因,而不是实际的应用程序(例如,测试) +1坦率地说我也 ...

  4. 错误: xxx不是抽象的, 并且未覆盖xxx中的抽象方法

    多模块集成配置写好后,运行maven的compile去测试是否每个模块可用,结果提示了这个错误: com.pjb.springbootjjwt.modules.config.InterceptorCo ...

  5. queue double java_一文弄懂java中的Queue家族

    java中Queue家族简介 简介 java中Collection集合有三大家族List,Set和Queue.当然Map也算是一种集合类,但Map并不继承Collection接口. List,Set在 ...

  6. deque stack java_一文弄懂java中的Queue家族

    简介 java中Collection集合有三大家族List,Set和Queue.当然Map也算是一种集合类,但Map并不继承Collection接口. List,Set在我们的工作中会经常使用,通常用 ...

  7. 变异测试 java_编码的喜悦……以及Java中的变异测试

    变异测试 java 多年以来,为源代码编写单元测试一直是一种好习惯. 并且还可以使用测试覆盖率报告来查看测试覆盖了多少代码. 尽管行+分支覆盖率报告非常有用,但是它并不能告诉您单元测试的实际效果. 因 ...

  8. if null 锁 java_史上最全 Java 中各种锁的介绍

    什么是锁 在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问限制.锁旨在强制实施互斥排他.并发控制策略. 锁通常需要硬件支持才能有效实施.这 ...

  9. as 运行java_解决AndroidStudio无法运行java中的mian方法问题

    前言: 我们都知道Android开发者的必备工具:AndroidStudio.是开发人员用来编译.测试的专用工具.今天在使用Androidstudio时发现了些问题.在3.0版本之前是可以直接运行mi ...

最新文章

  1. 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理
  2. 计算机仿真氢光谱实验,氢氘灯光谱实验报告..docx
  3. 5kyu k-Primes
  4. 解决zabbix的cannot allocate shared memory of size错误
  5. springCloud - 第5篇 - 断路器 Hystrix ( Feign 、Ribbon )
  6. 武大94年暖男型博士入选华为“天才少年”计划,最高年薪201万
  7. 2021衢二中高考成绩查询入口,2021衢州市地区高考成绩排名查询,衢州市高考各高中成绩喜报榜单...
  8. 数据库的恢复 mysql
  9. Linux按键驱动,中断实现流程
  10. 归档-软考网规-存储部分-san-nas-das
  11. Redmi游戏手机即将登场:天玑1200加持 主打极致性价比
  12. 4188元起!华为P40系列国行版发布:买它?
  13. 32位CentOS安装cacti
  14. 计算机基础文化知识板书,计算机文化基础考试
  15. 谱尼软件测试,谱尼为网络安全护航
  16. js判断时间是否在某一时间段内
  17. 模拟器上下载Fiddler证书
  18. js数组操作(pop,push,unshift,splice,shift方法)
  19. 什么是java的类加载器_JAVA-大白话探索JVM-类加载器(一)
  20. linux socket函数详解,linuxSocket_函数.doc

热门文章

  1. python设计要求_Python高级应用程序设计任务要求
  2. mysql前两个月_MySQL数据库表始终保持最近两个月的记录
  3. 天津理工大学计算机调剂信息,天津理工大学2020考研调剂信息
  4. (一)深度伪造的视频人脸传输
  5. 用实际的软件编程示例解释C#中的装饰器模式
  6. Odoo10参考系列--工作流
  7. vnc连接服务器怎么修改配置,vnc连接服务器怎么配置
  8. ini文件中文乱码 python_python编程之ini文件处理-configparser模块应用
  9. 64位电脑mysql_Windows 64位操作系统下安装和配置MySQL
  10. python读取word内容存入数据库、并求simhash_介绍一个基于simhash作海量文章排重的库:simhashpy...