Java中super关键字【学习笔记二】

/*
1.举个例子,在恰当的时间使用:super(实际参数列表):
2.注意:在构造方法执行过程中一连串调用父类的构造方法,
父类的构造方法又继续向下调用它的父类的构造方法,但是实际上
对象只创建了一个

3.思考:“super”(实参)到底是干啥的?
super(实参)的作用是:初始化当前对象的父类型特征。
并不是创建对象。实际上对象只创建了一个

4.super关键字代表什么?
super关键字代表的就是“当前对象”的那部分父类型特征。

*/

代码解析:这里创建了两个对象分别是ca1和ca2,分别调用其构造函数,
(1)ca1为CreditAccount的对象,首先调用CreditAccount的无参构造函数中,在CreditAccount的无参构造函数中调用了其父类无参构造函数,结果都为默认值null 0.0 0.0(系统会为成员变量赋默认值,默认值向0看齐:double类型为0.0,String类型为null,int类型为0)
(2)ca2为有参构造函数,首先调用CreditAccount的有参构造函数中,在CreditAccount的有参构造函数中调用了其父类有参构造函数,结果都为传入的值1111 10000.0 0.999

在这里插入图片描述

注意:注释了一大部分是因为,原本没有继承关系是要写的,但是由于继承了父类,而actno和balance是父类中私有的成员变量,此处访问不到,会报错

补充笔记:super()一般在构造函数中使用,若是在无参构造函数中使用则里面没有参数,若在有参数的构造函数中使用则括号里带有参数。

内存原理图:(有些模糊)可以忽略,这个原理图主要想说明:
子类的构造方法向下调用它的父类的构造方法,但对象只创建了一个,super关键字代表的就是“当前对象”的那部分父类型特征。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值