当前位置:网站首页>理解 继承、多态、抽象以及它们的概念
理解 继承、多态、抽象以及它们的概念
2022-07-17 00:14:00 【荼蘼_】
继承
1. 【访问修饰符】 class 子类名 extends 父类名{}
2. 类的继承
· 在java中定义一个类时,让这个类通过关键字 extends 继承一个已有的类。
· 被继承的类称为 父类(又称为 超类/基类),新的类被称为 子类 (又称为派生类)。
· 子类继承父类的所有属性和方法,也可以增加自己的属性和方法。
· 子类的访问修饰符的权限要大于等于父类的访问修饰符权限。
3. 规则
① 只支持单继承。每个类只能有一个父类,不允许有多重继承关系。
② 一个父类可以有多个子类。
③ 子类继承父类的所有属性和方法。
4. 子类的实例化
· 子类实例化时,先实例化父类,然后实例化子类。
· 调用父类的构造器时,先运行父类的构造器,父类构造器运行完毕才调用子类的构造器。
5. super()
· 子类继承父类时,并无参数传递的时候,在调用子类之前 super()可以省略不写,系统默认添加。(即程序自动先调用父类在运行子类代码)
· super()只能出现在子类的构造方法中,必须是第一行。
· super()的括号中的参数,调用父类哪个构造器,参数和构造器的传参类型一致。
· super()的例子对比可以参照【https://www.cnblogs.com/jesse-zhao/p/10660533.html】,我学习时理解就是找这个网址理解的。比较清晰简单,代码明确。
6. 构造器
① 子类不能继承父类的构造器。
② 子类可以在自己的构造器中调用父类的构造器。
super(参数1,参数2,...)
③调用父类中无参的构造器可以不写super()。
7. 访问权限修饰符的范围
| private | default | protected | public | |
| 同一类 | √ | √ | √ | √ |
| 同一包中的类 | √ | √ | √ | |
| 不同包中的子类 | √ | √ | ||
| 其他包中的类 | √ |
================================================================================================
多态
1. 一种事物有多种形态叫做多态。
2. 对象 instance of 类 <-----理解:看对象是不是类的实例
如:父类转子类
3. 设置父类的引用类型/接口类型。
4. 多态的体现:
有继承或者实现
重写
父类引用指向子类对象
5. 多态的引用:
子类类型的对象赋值于父类类型的引用(通过父类实例化子类 / 通过父类中的对象调用子类的方法)
Anmial a = new Dog();
a.eat();
================================================================================================
抽象
1. 【访问修饰符】 abstract class 类名 {...}
2. 抽象类不能被实例化。
3. 有抽象方法的类一定是抽象类。(一个类中有一个/多个抽象方法,那么这个类一定是抽象类。)
4. 抽象类中的抽象方法在其子类中被实现,否则子类只能声明为abstract。
5. 有static的不是抽象方法。
6. 一个类部分实现接口的方法,该类一定是抽象类。
7. 一个类是抽象父类的子类,且 没有实现父类的所有抽象方法时,必须定义成抽象类。
边栏推荐
- 《Visual C#从入门到精通》个人学习整理
- Gdb+vscode for debugging 0 - environment configuration
- leetcode力扣经典题目——82.柱形图中的最大矩形
- SSTI模板注入
- Installing MySQL and JDBC on Windows
- [unity Editor Extension] unity publishes resources to the store process unity asset store publish
- bugku---game1
- ENVI_ Idl: average calculation + analysis of MODIS swath products in batches
- 【AntV G2】如何解决 G2 造成的内存泄露
- 逻辑漏洞----身份验证漏洞
猜你喜欢
![[unity Editor Extension] the pre-processing and post-processing pictures of unity assets are automatically transferred to sprite2d](/img/84/34879d5c0b6e19d599c99eec944c26.png)
[unity Editor Extension] the pre-processing and post-processing pictures of unity assets are automatically transferred to sprite2d

ENVI_IDL:批量重投影Modis Swath产品并指定范围输出为Geotiff格式+解析

剑指 Offer 48. 最长不含重复字符的子字符串

成信大ENVI_IDL第一周实验测试:数组的简单运算+详细解析

ENVI_IDL:读取OMI数据(HDF5)并输出为Geotiff文件+详细解析

SSTI template injection

(附word操作以及视频讲解)使用ARCGIS进行地图配准_投影变换_普通地图制作_专题地图制作

STL -- deque container

Gdb+vscode for debugging 5 - GDB view relevant commands

二叉树的遍历
随机推荐
Stl--queue container
Install websocketpp
【Unity开发小技巧】Unity打包PC端exe,压缩打包为一个exe文件
使用JMeter测试基于WebSocket协议的服务
STL--queue容器
JS笔记1
剑指 Offer 48. 最长不含重复字符的子字符串
Gdb+vscode for debugging 5 - GDB view relevant commands
Unity3D 游戏人物跳跃落地时发生弹跳,偏移情况的解决方法
【Unity编辑器扩展】显示资源目录下所有文件所占内存大小
【HSJFramework】Unity时间管理TimeManger计时器
二叉树的遍历
LeetCode:动态规划中的子序列问题
字符串全排列问题
STL -- List container (linked list)
【工具篇】Unity2D人物控制器,控制2D玩家移动跳跃,四方向和水平方向
ENVI_ Idl: batch process the re projection of MODIS swath data and output it to GeoTIFF format + detailed analysis
逻辑漏洞---登录验证码安全
逻辑漏洞----身份验证漏洞
各种开发工具