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

示例:

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值