00:00
那么接下来咱们再继续往下看,各位啊,继续往下看,那再往下的话,无非可能就是说我们现在要执行到第20行了,第二行U一点IDU1是谁?U1是它呀,U1.id说的是这个内存空间,这个内存空间用等号的方式赋了一个值叫11111,那这样的话是不是就相当于我有一个叫做11111的东西怎么办呀?哎,给它干啥呀?哎,给他传过去了,传到哪了呢?哎,传到这了。给他传过去了,改了是不是,那你后边这个张三呢。对吧,那你这个张三呢,张三也是通过等号的方式给他传过去了,给他附上去的呀。对不对,负u.UU一点U点那U1.uname是这个空间,这个空间上它这个值是哎张三,所以这个时候呢,哎,这个数据啊就过去了啊就过去了。过去了。就这个意思啊,然后接下来诶,你这个是123,那么这个时候123呢,其实已经怎么着啊,哎,过去了啊过去了,来我们把这个怎么着啊,给他挪走啊,挪走来挪到这。
01:05
那这个时候你的内存上发生这样的变化,就相当于你这三行代码的执行,对吧,20 21 22,你这三行代码执行结束之后,现在的内存图就变成了这个德行。这个内存图变成这个德行之后,接下来你仍然采用什么呀,U一点U一点U一点的方式去访问对吧?哎,那这个时候你看你把上面的这个放开啊,原先是零到那对吧,现在一旦给它重新附上值之后,接下来你这块的诶内存就变成什么呢?啊变成111张三和123,所以这个时候哎我们Java c呢,去编译Java再去运行,你看这个值是不是就是哎111张三和123对吧?啊那这就是这样的,就是这样的。对吧,那程序到这儿对吧,哎,到第26行,哎,我们内存图就是这样一个内存图。这个内存图啊,那么接下来这个程序啊,会再往下走,等号的右边先执行new一个U,那你new一个U这块呢,又同样是什么呢?哎,会在这里创建一个新的对象。
02:05
新的对象各位啊,这个对象呢,我们仍然是叫做什么呀,User类型的对象啊,User类型的对象,那么你user类型的对象里边有什么呢?哎,因为注意啊,是你等号右边先执行,执行之后呢,哎,你对象创建出来,你这个对象啊,这块有什么呀?哎有零啊有啊有捺啊是吧?哎这个空间是有的,所以这块呢,哎我们呢,哎还得画上啊,还得画上来画上上。画上是不是,哎,那你这块呢,就是什么呀?啊就是ID喽。是不是,哎这个呢,其实就是什么呀,哎,Username喽。是不是啊,You nameme you nameme,然后这是ID,这是什么呀?哎,那是password啦啊然后呢,你这个值呢,是零呗,对吧,这个值呢是啥呀,是none呗,是不是,哎这个值呢,实际上还是什么呀,哎,None,哎,None。来,那么这块这个对象它创建出来之后,这个对象构建完毕了,啊,构建完这个对象之后,通过等号的方式给它附上去,付给U2 u2又是个局部变量,所以这个时候,哎,我们U2这块。
03:12
拿过来在哪呀?哎,应该在这个位置上,是不是,哎去开一块空间出来啊,这块空间呢,比如说哎是谁呀,是这个U的叫做U2的是不是,哎这个U2呢,其实说的就是这个变量呗,是不是?哎这个变量里边保存了一个什么呀?内存地址呗,这个内存地址0X5689吧,这个0X5689是谁的地址啊,是这个对象的地址,明白吗?哎,是这个对象的地址,所以诶它指向什么呀?诶这个对象就行了,看都是指向这个对象呢。这样对象,那接下来程序执行到这,无非就是说我们内存图是这样的图这样紧接着U2点IDU2.2点PASSWORD224和456,那这个2222呢,怎么着呢,哎就怎么着,就往下再走呗,再走的话你就。
04:01
把这个。就直接放进去呗。是不是啊,那么再往下这是李四啊。那四呢,就上去了呗。是吧,哎,李四就附上去了,附到哪了呢。说到这儿了呗。代替呢?对不对,哎,然后呢,456呗。是不是啊,456。来。是吧,这样的啊,那U2点IDU2点u name u2点password啊,给它附上值,附上值之后输出呗,输出结果就是2224和456呗,所以这个程序呢,就执行结束了啊Java编译加V擎你看。是不是222,然后李四456啊。对吧,这个内存是这样的。是这样的。各位啊,那如果画这个内存图,我在这里再三强调一下吧,啊,我再强调一下啊,是什么呢。
05:03
这个程序啊,你要走一步画一步,走一步画一步,你不要你不要在这儿说一下啊,把这个把这个图全画出来是吧,那不可能要我,我也不可能啊,那种方式就不对,你应该是程序执行一点内存是怎么变的,执行一点内存是怎么变的,你应该这样去画,各位啊,这个一定要注意啊。
我来说两句