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

java基础概念18-面向对象三大特征:继承

一、继承的定义

继承是面向对象编程(OOP)的一个核心概念,它允许我们根据一个已存在的类(称为父类或基类)来定义一个新的类(称为子类或派生类)。

子类继承父类的所有属性和方法(除了那些被标记为private的属性和方法,因为private修饰的属性和方法是不可见的,只能被其所在的类访问)。

子类还可以拥有自己独有的属性和方法,以及重写(Override)或覆盖父类中的方法。

主要是为了实现代码的复用!

二、继承的特点

抽取父类的核心:

1、共性内容的抽取;

2、子类是父类的一种。

【注意】:

子类只能访问父类中非私有的成员。

三、子类能继承父类中的哪些内容?

3-1、父类的构造方法不能被子类继承

3-2、子类能继承父类的成员变量

父类中私有的成员变量,子类能继承,但是不能访问只能用get/set方法使用!

继承的内存图

3-3、父类中成员方法的继承(虚方法表)

子类调用一个方法的时候:

1、若是虚方法,先在虚方发表中去查找;

2、不是虚方法,先在自己的类中查找对应的方法,没有,依次到各级父类中查找成员方法!

1、内存图分析 

 

2、内存分析工具

 

四、继承结构的语法特点

4-1、继承中,成员变量的访问特点

就近原则。

super关键字在Java中主要用于直接父类,它不能直接用来访问更远的祖先类(如Ye)的变量!!!

加了this关键字,不会在本类的方法中找,直接在本类的成员变量中查找!

小结:

4-2、继承中:成员方法的访问特点

  • 直接调用满足就近原则:谁离我近,我就用谁
  • super调用,直接访问父类

1、方法的重写

当父类的方法不能满足子类现在的需求时,需要进行方法重写。

2、方法重写的本质

3、方法重写的注意事项

4、示例

需要用到父类的方法中的代码,可以用super关键字。 

5、小结

4-3、继承中:构造方法的访问特点

  • 父类中的构造方法不会被子类继承。
  • 子类中所有的构造方法默认先访问父类中的无参构造,再执行自己。

小结:

五、this、super使用总结

5-1、this关键字

理解为一个变量(局部变量),表示当前方法调用者的地址值;

5-2、super关键字

代表父类存储空间。

5-3、this VS super

示例:


http://www.mrgr.cn/news/151.html

相关文章:

  • Leetcode 3257. Maximum Value Sum by Placing Three Rooks II
  • 机器学习/自主系统与亚当·斯密
  • 24/8/14算法笔记 复习_支持向量机svc
  • YOLOv10实时端到端目标检测
  • docker-实战——consul集群
  • 基于x86 平台移植seetaface6
  • Mysql面试一
  • CSS的:placeholder-shown伪类:精确控制输入框占位符样式
  • 贪心算法3
  • ECMAScript性能优化技巧与陷阱
  • 部署flannel网络(master服务器执行)遇到错误
  • 入门网络安全工程师要学习哪些内容
  • 【Hot100】LeetCode—142. 环形链表 II
  • Go环境搭建-开发工具
  • 容器使用私钥远程至宿主机执行命令
  • Unity 求坐标点在扇形区域内的投影
  • 选择Linux发行版:就像选宠物,你准备好了吗?
  • 不同路径 II[中等]
  • Kali Linux 命令大全
  • C/C++ 不定参函数