Java基础(13)之继承

1. 继承

1.1 继承概述

在这里插入图片描述
但是我们将相同的类提取出来就会变成这个样子
在这里插入图片描述
让他们之间产生一个继承的关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 继承的好处和弊端

IS-A、HAS-A和USE-A关系
在这里插入图片描述
苹果是水果的一种可以使用继承
猫是动物的一种可以使用继承
猫和狗不具备继承关系,不可以使用继承

1.3 继承中遍变量的访问特点

在这里插入图片描述

1.4 super

在这里插入图片描述

1.5 继承中构造构造方法的访问特点

在这里插入图片描述

1.6 继承中成员方法的访问特点

在这里插入图片描述

1.7 super内存图

main方法加载到栈内存
在这里插入图片描述
Zi z 加载到main方法中
在这里插入图片描述
在堆内存中new一片空间,加载成员变量,Zi z指向001。
在这里插入图片描述
将Zi方法加载到栈内存中,然后执行Zi的构造方法,但是执行子类构造方法的时候默认方法中是带super()方法的,所以要先访问父类的构造方法。
在这里插入图片描述
在这里插入图片描述
父类,先将父类的成员变量(它是子类的父类所以它的地址也是001)加载到堆内存空间,然后将父类的构造方法加载到栈内存,执行构造方法,输出,执行完毕后从栈内存消失。
在这里插入图片描述
父类的构造方法访问完毕后,接着访问子类的构造方法,输出,然后在栈内存中消失。
在这里插入图片描述
接着是z.show(),调用show()方法,在栈内存中加载show,调用者是z(001),this就是z(001)
在这里插入图片描述
int age = 30;.,在栈内存加载。
在这里插入图片描述
直接输出age
在这里插入图片描述
这次输出的是this.age,而this的地址值是001,所以输出的是20
在这里插入图片描述
super.age,同过调用者找到super(父类),从super(父类)找到age,所以输出40。show方法执行完毕从扎内存消失。
在这里插入图片描述
接着调用method();方法,但是在子类中并没有。
在这里插入图片描述
子类没有method方法,所以我们到父类中找,父类中有method()方法最所以我们调用父类的method方法。
所以执行的是父类的method方法,输出完毕后在栈内存中消失。
在这里插入图片描述

1.8 方法重写

在这里插入图片描述

1.9 方法重写注意事项

在这里插入图片描述

1.10 Java中继承的注意事项

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值