抽象方法

简介: 抽象方法

引出抽象

求圆 ,矩形,三角形,面积

发现的问题

每一个图形计算面积的方式都不一样,所以每一个类都必须得要覆盖父类当中的 getArea方法,来去实现求面积的方式

带来的问题

怎么样保证子类必须得要覆盖父类当中定义的方法。父类不需要提供方法体

抽象方法

格式

在方法前面添加了一个关键字 abstract

抽象方法特点

  1. 抽象方法是没有方法体的
  2. 抽象方法必须得要定义在抽象类或接口当中
  3. 抽象方法不能是私有的 private,final, static

注意点

子类必须得要去覆盖此方法,在定义的时候不要方法体了。

抽象类

概念

abstract 修饰的类,就成为了抽象类,抽象类必须得要有子类才行。(抽象类一般都当作父类来继承)

抽象类当中的注意点

  1. 抽象类是不能直接创建对象的。
  2. 抽象类当中,可以有抽象方法 ,也可以有非抽象方法(普通方法:给子类调用的)
  3. 子类没有去覆盖抽象方法,把子类也变成抽象类
  4. 构造方法不能定义为私有化 (抽象方法必须得要让子类继承之后,才能实现内部的方法体。子类继承的话,先去调用父类的构造方法)
  5. 抽象类不能使用 final 来去修饰

抽象类与普通的类有什么区别

  • 普通类你有的(方法 ,字段,构造器),抽象类都有
  • 抽象不能创建对象。抽象类可以包含抽象方法,也可以包含非抽象方法
  • 抽象类必须有子类才有意义

相关文章
|
小程序
uniapp如何分包 & 分包配置后无法读取static文件夹
uniapp如何分包 & 分包配置后无法读取static文件夹
918 0
uniapp如何分包 & 分包配置后无法读取static文件夹
|
5月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
504 1
WK
|
Python
如何在Python中导入包
在 Python 中,包是一种组织代码的方式,通过包含 `__init__.py` 文件(在 Python 3.3 及以上版本可选)的目录实现。包内可以包含多个模块(`.py` 文件)和其他子包。导入包有多种方式:整体导入包、导入特定模块、导入特定函数或类、导入子包等。推荐的做法是明确指定导入内容以提高代码的可读性和可维护性。此外,确保包目录结构正确,并将其添加到 Python 的搜索路径中。对于分发包,使用 setuptools 和 pip 等工具更为便捷。
WK
624 66
|
传感器 Java 测试技术
📖Java零基础-do-while循环语句的深入剖析
【10月更文挑战第5天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
595 1
|
SQL 分布式计算 Hadoop
hadoop数据查询和分析
【5月更文挑战第9天】
597 1
|
云安全 存储 人工智能
美的X阿里云:加速出海!
美的X阿里云:加速出海!
557 4
|
数据库连接 数据库 DataX
数据接入方案
数仓平台可直连或通过从库、堡垒机、FTP/SFTP等方式接入业务数据库,需提供可读用户权限及相应连接方式。若无法直连,可通过提供数据文件或脚本处理实现数据导入。
606 7
数据接入方案
|
编解码 测试技术 Android开发
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
本文详细介绍了如何利用CameraX库实现高质量的照片及视频拍摄功能,包括添加依赖、初始化、权限请求、配置预览与捕获等关键步骤。此外,还特别针对不同分辨率和帧率的视频拍摄提供了性能优化策略,确保应用既高效又稳定。
1841 1
Android经典实战之用 CameraX 库实现高质量的照片和视频拍摄功能
|
Dart Android开发
鸿蒙Flutter实战:03-鸿蒙Flutter开发中集成Webview
本文介绍了在OpenHarmony平台上集成WebView的两种方法:一是使用第三方库`flutter_inappwebview`,通过配置pubspec.lock文件实现;二是编写原生ArkTS代码,自定义PlatformView,涉及创建入口能力、注册视图工厂、处理方法调用及页面构建等步骤。
746 0
|
安全 网络安全 数据安全/隐私保护
怎样才能有效提高网络安全意识?
【8月更文挑战第15天】
749 2