当前位置: 首页 > news >正文

抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?

微信搜索《Java鱼仔》,每天一个知识点不错过

(一)每天一个知识点

抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?

(二)结论

抽象类不必须有抽象方法,但如果一个类包含抽象方法,则该类必须是抽象类。

抽象类不能用final修饰,因为抽象类必须被继承,而被final修饰的类不能被继承。

(三)再多学一点

虽然几乎每个程序员都知道抽象类,但是实际开发中抽象类对大多数人来说就只是一个概念,用到的机会很少。理由也很简单,抽象类是抽取共性需求而来的,即使没有抽象类,对业务的实现也没有影响。但是如果合理应用抽象类,能增强代码的重用性,更加有效地解决复杂需求。

继续回到题目:抽象类必须要有抽象方法吗?

当然不必须有,甚至于一个抽象类可以没有任何一个抽象方法,这个类除了不能被实例化之外,和普通的类几乎没有任何区别。

但是如果一个抽象类中有抽象方法,那么他的子类必须要实现抽象方法。

第二个问题:抽象类可以使用final修饰吗?

当然不可以,通过理解抽象类的作用我们就发现了,抽象类必须要被继承,如果用final修饰抽象类,这个抽象类就无法被继承,自然就无法使用了。

相关文章:

  • CLion 2016.1新增Python、Swift支持,并改进了C++支持
  • SpringBoot如何实现异步、定时任务?
  • Java中BIO、NIO、AIO 有什么区别?
  • 网络协议系列之二:HTTP(2)
  • redis和mysql数据不一致问题如何解决?
  • Spring中的资源加载策略
  • 你知道迭代器 Iterator 是什么吗?
  • 什么是乐观锁、什么是悲观锁,两种锁在Java中的具体应用场景有哪些
  • Error: Out of memory! attempting SFTP connectio
  • 谈一谈session和cookie的区别,以及session的实现机制
  • Android--activity获取返回值
  • 你能说出四种创建线程的方式吗?
  • IOS 多线程01-线程基础知识
  • 说一下runnable 和 callable 有什么区别?Future是什么?
  • Spring MVC 3.0 深入及对注解的详细讲解
  • angular组件开发
  • KMP算法及优化
  • spring cloud gateway 源码解析(4)跨域问题处理
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Webpack 4x 之路 ( 四 )
  • Zepto.js源码学习之二
  • 三分钟教你同步 Visual Studio Code 设置
  • 删除表内多余的重复数据
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 一道面试题引发的“血案”
  • Mac 上flink的安装与启动
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • #Lua:Lua调用C++生成的DLL库
  • #pragma 指令
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (C语言)二分查找 超详细
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计ssm电影分享网站
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)Sql Server 保留几位小数的两种做法
  • (转)可以带来幸福的一本书
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • ../depcomp: line 571: exec: g++: not found
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .axf 转化 .bin文件 的方法
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net6+aspose.words导出word并转pdf
  • .Net下的签名与混淆
  • .NET中的十进制浮点类型,徐汇区网站设计
  • :如何用SQL脚本保存存储过程返回的结果集
  • @ModelAttribute注解使用
  • [acm算法学习] 后缀数组SA
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [ANT] 项目中应用ANT