00:00
那有了这个对象之后啊,下边我们来看一下关于这个你创建好的这个对象,或者说你当前的这个类结构,它当中的一些字段的一些操作,那这儿呢,主要我们是针对于这个类的对象来说的,下边这个三的话呢,针对于是我们说这个数组的具体的你这个每个位置元素来进行的操作,那咱们先来看这个类的这个实例啊,那对象创建以后呢,我们可以通过如下这些指令呢,去访问当前类当中的一些字段,注意这时候呢,咱们主要提到的是字段,那关于这个类中的方法的调用呢,是咱们下一个节方法的调用和返回这块呢,来重点说的,咱们现在主要说这个字段的问题,那字段的话呢,这时候我们就提到了,可以分成两类,按照是否使用staic来分。那相当于呢,我们是随着类的加载而加载,还是呢,是随着对象的创建而加载的,对吧?好,那这时候呢,具体的指令呢,访问类的叫get static。就是我们这个get static呢,会将你当前这个类字段,就是用static修饰的这个字段呢,把它呢,压入到操作出站当中。
01:04
然后put static呢,就是相当于把我们这个这个数据呢,给它再弹出来,比如做一个赋值啊是吧,等等这样的一个操作啊,是这样子的行,那下边呢,访问类实例的这个字段就是非死在这个修饰的,这呢我们提到叫get field get field就是把我们现在的这个字段呢,压入到咱们的操作实战当中,然后put field,比如说你把这个字段呢取出来啊,做一个具体的输出啊等等这样的操作,我们叫put field OK,这呢,就我们说的这两组指令,主要呢,就是按照是否是一个静态来进行刻画来区分的这样的两组。那举一个例子,咱们下边呢,我写了一个非常简单的一个叫做say hello,那其实我们在这个代码当中,这块有就是这个say hello里边呢,我们就写了一个输入语句叫hello,这里边呢涉及到一个out,这个system叫out的话呢,它就相当于我们这个类当中的一个静态的字段,对吧?关于这个字段呢,我们进行获取,那是不是叫get static啊,把它压入到我们的操作站当中,对吧?那这时候我们做一个直接一个刷新就行,那我们看一下这个叫say hello。
02:11
行在这儿呢,对吧,那么这个结构呢,你看我们直接上来就叫system叫out,这个呢,我们要把这个out结构呢,是不是给它压入这个操作站当中啊,那压入操作站呢,这里边我们就用的叫get static。是system里边的这样一个静态字段行,那这时候呢,这个诶system.out或简写啊,这个system.out就进来了,然后再下边的话呢,我们这有一个hello hello是一个字符串啊,我们用的是LTC引用的是我们常量池里边这样一个字符串的一个字变量,哎,把这个哈。放在这儿,然后接下来呢,我们又调用了咱们你对应的这个print stream这个这个plan的个方法,对吧,这就相当于是一个新的方法,新的方法的话呢,就对应一个新的一个是不是战争的对吧?新的一个战争相当于是我们把这个c.out和这个hello呢,他俩就都出战了,那出战以后的话呢,这个我们去,呃,调用到人家这个方法里边是吧,作为这个参数呢,该传的传进去,比如哈人就传过去嘛,那执行完以后呢,它那个方法printline呢,也是一个word的方法,它一结束,那我们这个战争呢,又露出来了,里边啥也没有,那这个呢,就做了个return结束。
03:17
那就是这样一个过程比较简单,所以这呢,我就不这个在咱们这Excel里边去画图了,下边这呢,我也指明出来了,就是当你去get static的时候呢,我们就把这个C点二的这个属性呢,压入到我们的操作站当中了,那这里边咱们不是也有对应的后边的一个,嗯,这个叫什么呀?常量池中的这个索引对吧。长景池里边这个所引呢,叫井八是掉到这儿,这个呢是关于属性的描述,属性描述这块呢,我们前面分析词页码文件时候也说过,你得告诉我你是哪个类章中的是吧?这个字段的这个描述符的信息,那就是这个你是这个system这个类里边的是out这个属性,这个属性的类型是什么呢?是print stream这个类型的,那应类型嘛,所以你得有个L这块有个分号结束对吧?然后这个属性的名字叫做,哎,咱们老师说属性叫字段了是吧?名字呢叫做out啊就这个意思,那在这个图当中呢,写的也类似,通过这个s out呢,咱们找到是这个字段这个描述,那描述的话呢,一个是你的类型,一个是你的name and。
04:18
啊,这个类型呢,这不是在这又找到它了,Name呢,Tap这个又找到是out是它的字段的名字,然后呢,字段类型就这。这name这是type对吧?哎,这是这个情况,行,这呢是咱们这个,呃输出语句,这个呢,对应的这个词解码的一个结构啊呃对应的这个图示这个结构相对来说简单一些,然后呢,我这块呢,又写了一个例子,这个呢就相对来说复杂一些。这呢我叫set order ID啊,这个order呢,是我额外的又定义了一个类,里边呢,有一个非静态的,还有一个静态的这个字段,然后呢,我这里边new了一个对象。优化对象之后呢,一方面我们做赋值,一方面呢做输出,然后关于静态的字段呢,也同样的同样如此,那我们看一下它对应的这个执行的这个结构。
05:03
在这呢,对吧,这个来说呢,相对说复杂一些,咱们把它那CTRLC粘过来,咱们再整体做一个剖析。行粘过来这个字呢,稍微有点小。再大一点呢,超了是吧。嗯。就是超了超了还不少,所这块咱们把它稍微的再小一点吧。不行。还得再想。行,那这样呢,我们来分析一下这样一个过程,咱把这个代码的话呢,也给它做一个盯一下。OK,来咱们做个分析,首先的话,这块涉及到对象的一个创建,这个对象创建呢,是咱们刚才说过的这个指令了,咱这块呢,就可以快点的讲,首先这块一个new,那在咱们这个操作站里边呢,你就创建了对象,比如说这个地址对应的就是3344,指向了你这空间里边你造的这个对象的一个实体,行,然后呢,把这个3344呢,接下来又复制了一份是吧,那这个就是我们这个大的这个操作好,然后再下边呢,调用一下我们这个order,当前这个类的一个构造器方法,那此时呢,我们这个这个。
06:26
这个站点的这个0X344呢,相当于他就能出战了,对吧。调用完以后呢,又调了a store下线一,就把我们这个0X334呢,保存在这个角标V1的这个位置啊,这就0X3344行,然后这个位置呢,还是放在咱们那个当前这个方法呢,所属类的那个对象那个Z这块我就不往这填了,大家就知道啊,真的都是非静态的方法,第一个呢就是Z行。嗯,这个呢,相应的你放完之后呢,它就也是不是就出站了啊,然后再往下叫漏的下R线一,就把这个0X34呢再取过来。
07:03
嗯,取过来了,取过来之后呢,接下来又SI一个1001 1001行又放在这儿。啊,这个咱们给他来一个左对齐吧。1001呢,我们就放在这儿了,放在这儿了,现在是到这儿了,对吧,然后再接下来呢,叫做put field put field呢,相当于我们这时候呢,就要出来了,出来的话呢,相当于啥意思呢?咱们找通过这个地址呢,是不是就找到你对空间里边你对应的那个对象实体了,里边呢,是不是有一个属性叫all ID啊。行,现在呢,我们就要put field呢,就这两个指定的它就都出来了,然后找到通过这个地址找到你那个对象,然后put field是谁呢?是你里边那个ID,然后找到那里边ID,把1001呢给它附上去叫哎把这个ID呢复制为1001,哎就这样子,所以这两个呢就也都就哎出战了。这两个就出战了,出战的最终效果呢,就是堆空间里边你造的那个对象的那个ID属性呢,就已经被附上值了。
08:01
那这就我们说出站的这个操作,然后再下面呢,叫呃,Get static system叫out,那这块呢,是不是就把你这个system里边这个out属性呢,是不是就拿过来了。行,然后再着呢,就把这个load的呃,漏的下限一又把它那拿过来。然后来行,呃,Load相应一行,然后get fill get fill的话呢,是找我们order里边这个ID,那通过这个呢,是不是它就找你对应的那个这个对空间里边你那个对象那个DD咱们已经付过值1001了嘛,所以get field呢,哎,它呢首先出去,出去之后呢,然后呢,找到那个ID之后,再把它那个值呢返回回来就是压入到我们那个站里边,是不是1001就过来了。就他这呢,是叫get fill是吧,这就压入站了。所以这里边儿这个盖的操作呢,都是压入站的操作,破的呢,就是出站啊。这个再接下来呢,就调用一下我们这个printline的一个方法,这就相当于把它呢就出去了,调你那个printline方法,然后把这个1001呢给它放进去嘛,所以这两个结构呢,是不是也就都出战了。
09:12
行,那把1001呢,就输出了行,然后再往下,这就下涉及到咱们这一波操作了,就刚才呢,我们说的是非静态的,下面呢,咱们来看这个静态的操作,静态这里边儿呢,首先入一个字符串叫做order。嗯,好了,接下来的话呢,再去叫put static put static的话呢,我们是叫order.name order.name然后呢,相当于这个order呢,就直接出去了,因为咱们对接是当前你这个类当中的是吧,直接呢它就出去了,给我们这个对应的当前这个类结构,因为类的咱们不需要当前对象去指向了,所以不用说把这个对象呢,再这个压入到这个操作站里边,直接呢就把它付给咱们当前这个类。这个给谁呢?给这个叫name属性。咱们在这呢,这不有个内幕属性嘛,对吧,是个静态的,给这个内幕属性呢,做一个赋值。
10:04
嗯,那这时候呢,这个order呢,就直接出去了,那就附上值了。这是我们说的这个叫put这个操作行,再接下来呢,叫get static system呢又进来了。OK,嗯,他们进来对吧,嗯,走到这儿了,然后再者呢,嗯,走到这儿了,再者呢,Get static把咱们order里边那个name字段呢给它也获取出来,这是找到这个order第2NAME字段。好到这儿了,再接着呢,去调我们这个printline的一个方法,那就是把它呢调这个里边print一个方法,这个呢作为参数呢也传过去,所以它俩呢是不是就都出去了,出去之后呢,把你这个name的结果呢,叫order就输出了,然后再往后啊,再往后就没有了,它下边一个return,那整个这个呢就结束。行,那这呢,就咱们强调的整体的这个过程。那大家熟悉一下,主要呢,总结一下,就是涉及到咱们这里边儿这个get呢,就是都是相当于把这个数据呢,压到这个站当中,是压入站的一个操作,Put put这个就相当于是出站的一个操作,那你看具体要做的这个事情是什么,是做一个输出啊是吧,还是赋值啊,还等等这样的一个事情啊,行这个呢,就是咱们说的叫字段的一个访问指令。
我来说两句