00:00
来各位,咱们继续往下问大家问题啊,我来问你来答啊,同学回答一下,呃,我们虽然在程序当中一连。调用了好几次构造方法,你告诉我这个程序,这个程序创建了几个对象。我给点时间,各位啊,我给点时间。告诉我。整个程序当中创建了几个对象。一个。一个。一个。一个好,我说一下各位啊。呃,我说一下,大家说的对啊,实际上我们在整个程序new credit count这个构造方法执行的时候,它实际上在底层只创建了一个对象啊,一个对象只不过是说我们在创建这个对象的时候,这个对象当中啊,有一部分怎么着啊,有一部分特征怎么着。
01:04
是我们负类型当中的特征,但是大家想一想,虽然是负类型当中特征,这会儿是不是我已经继承过来了,那么就相当于这个特征是不是已经属于我自己的了?你好好思考一下。就是说这个地方是创建了三个对象吗?还是说每一次我们new这个对象,你这个credit的信用卡账账户的话,我们把三个对象造出来,我先造一个这样的一个对象,再造一个他的副对象,再造一个object对象,是这样吗?我们现实生活中是怎样的。各位。你比如说我吧。我是不是应该有我爸爸,呃,身上的这个特征。但是这个特征是不是已经被我继承过来了,是不是属于我自己的,是不是现在这个特征是不是已经到我身上了?这个大家理解吗?理解理解这个意思。就是说你你想想现实生活啊,现实生活就是我我继承了我我父亲的这个特征。
02:03
对吧,你比如说这个眼睛啊是吧,哎,或者说是这个,呃,这个这个这个这个肤色呀,是不是,哎继承过来了,那继承过来之后,这一部分特征是从负类型中继承过来的,但是继承过来它属于不属于我自己的。属于我自己的吧。所以它底层实际上是构建了一个对象。注意啊,我在这里写一下。注意啊,虽然调用构造方法啊,在构造方法执行过程中一连串啊调用了什么。啊,负类的构造方法,负类的构造方法又继续向下。调用他的父类的构造方法。
03:03
啊,就是说虽然调用构造方法,在构造方法执行过程中,一连串调用了负列的构造方法,负类构造法继续向下调用了负类的构造方法。这个删了吧。但对象,但是啊,实际上。对象只创建了一个。那么大家思考一个问题,思考一个问题,Super括号。到底是干啥的?你们思考一下,这个到底是干啥的?嗯。各位修补括号这这个这个地方跟那个实际十参是不是这种语法到底是干啥的。你就拿这个来说吧。拿这个。
04:01
拿这个来说。Credit,这个super network到底啥的?我总结了先生是这样的啊,Super括号食参的作用是。初始化当前对象的副类型特征。对吧,初始化当前对象的类型特征并不是创建新对象啊,并不是创建新对象,实际上对象只创建了一个。你明白吗?就是说这个。对象实际上只有一个,这个Z保存内存器指向自己。这个对象只有一个,但是这个对象里边有一部分特征是从父里边继承过来的,但你继承过来那个特征是已经属于他自己的,对吧。
05:04
是不是大家思考一下,思考一下,想想啊想想。所以说这个super括号的作用,其实就是用来初始化对象的类型特征啊,类型特征。不是用来创建对象的,各位啊,实际上对象只创建了一个。啊。初始化当前对象的副类型特征。这是super括号。它的作用。那super关键字代表什么呢?Super关键字代表什么呀,各位。就super括号大家理解了,它是通过我的构造方法去调用负类的构造方法,目的是说把把我当前这个对象,它的副类型特征给它初始化出来。那这个super代表啥呢?就同一个图上这个super代表啥呀。
06:03
Super关键字指向的是什么?Super关键字,Super。关键字代表的就是。当前对象的。那那部分副类型特征。你比如说吧,你比如说啊,我呢。我继承了我父亲的。一部分特征。对吧,例如眼睛,呃,皮肤对吧,哎等。Super代表的就是。这个明白吗?哎,但是你要记住啊,眼睛皮肤是在我身上长着的,它属于我,明白吧,眼睛皮肤等虽然是继承了父亲的。
07:14
啊,虽然是继承了父亲的。但这一部分是在我身上。明白吧,我的眼睛啊和这个皮肤啊,哎,这个特征或者这个基因是继承父亲的,那继承过来已经在我身上了,那我现在,哎。啊,直线就是这部分特征修不代表就是它。啊,就是这个意思。啊。好了,我们对括号有一个理解,我们对super关键字有一个理解。那么我问大家个问题,这个这个这个图还用画吗?就一个credit,调的是有参数的构造方法,1111。
08:02
这个传进去。传进去之后呢,接下来他调的是super括号这个参数和这个参数,那么这个参数呢,它走的是什呀?走的是负类的这个构造方法,而这个构造方法他会付给他,他呢会付给他,记住你在这块如果什么也没写,它会有一个默认的修括号,实际上是说你调用这个构造方法的时候。他会先去调用他。调了它之后呢,它会调super括号,Super括号会掉full类的构造方法,Full类构造仍然会去调查下object这个类的构造方法,然后呢,还是先把object空间么着啊哎,特征给它开出来,然后呢,把a number和balance的空间怎么着来给它开出来。然后呢,紧接着怎么着啊。哎。我们这个方法结束之后,继续往下,就相当于要执行这个了,那这个呢,把这个信誉度啊给它附上值,整个方法结束之后,对象还是创建几个呀,还是创建一个,所以呢,这个和我们上面的这个图啊是一样的,无非有一些地方,哎,可能有一些改动是不是,哎,你比如说我把这个拿过来啊,拿过来之后呢。
09:12
这样吧。过来啊,复制一下贴过来啊,我放到这。大概是这个意思就行,各位啊,我在这块呢,这个。这个给它清掉啊,嗯,这块的就没了,各位就不是none了,这个呢也不是0.0了,这个呢也不是0.0了,这个对象的地址呢,也不是这个地址了。因为你创建出了新的对象嘛,是不是,所以这块呢,它可能是一个0X1111啊,哎,这是一个新的对象指向它,那么这块呢,他会给他附上一个值1111啊,我印象当中好像是这个啊111,然后呢,往后呢,这个余额是1万吗。
10:06
然后紧接着这个是0.990.999吧,啊,随便写的一个啊,那接下来我们这个对象呢,它的一个内存地址是0X111,指向自己这个对象的内存地址在这里。就变成这样了。思考一下啊,思考一下。在这啊。然后这块应该是有一个。引用保存内存地址,然后呢,指向谁呀,哎,他自己。啊,这这。这是this。这边是this啊,保存地址和这个是一样的。呃,程序它所对应的就是这个。
11:00
啊,就是这个它的内存图啊,这个就是那个内内存图啊。
我来说两句