00:00
好,那咱们继续再往下看吧,啊来接着看这边呢,我们叫method test055点加va啊,然后接下来呢,我们这呢。看一下。Public,然后class method test,零五。然后public。Public static voidman啊然后呢,接下来我们在这一块呢,看一下,嗯,看一下什么呢?比如说各位啊,我不知道这种程序,我给大家写个程序啊,写个程序看你能不能看懂啊。我在这写的public static void I。M1啊,然后接下来呢,我再加一个public static VO m2啊,然后呢,我我我我这边是这样的各位啊,我们现在啊,都是在闷方法里调M1方法,是不是调M1方法啊啊调用什么呀,就调用M1方法,哎M1方法。
01:00
那么这块呢,大家有没有想过,就是我们在这个方法里边也能去调M2,有没有想过这个问题,就在这个方法里,我能不能能不能调M2,就是我我调用程序就一定要写在问方法里面吗?调用程序不一定写到哪啊问方法中。不要把闷方法特殊化,闷方法也是一个普通方法吧,闷方法也是一个普通方法,对不对?那如果说我M1,我们方法去调M1 M1在执行过程当中,我能不能去调M2呢?对,我M1去掉M2行不行啊。行吗?可以吗?没问题吧,我在这呢,再加一个class啊,比如说呃,T对吧,Class,然后这呢,Part一个sta VO m3,我在这有M3方法,那你说我这个M2方法能不能去调T类的M3方法呀,M2方法可以调用T类的这个。M3方法吗?
02:02
啊,可以吗?在这我我去调t.M3。行不行,就你比如说这个men去调M1。M1,执行过程当中就叫M2。那M2去调t.M3。t.M3是不是在这执行啊,点out点打印输出。啊,叫T的M3执行吗?T的M3METHOD execute是不是执行对吧,你看。行不行啊,没问题吧,哎,没问题啊,不要特殊化,各位你不要把闷方法特殊化啊,大家别乱啊,别乱别乱啊,思绪别乱,记住一句话,方法体大括号里面的程序遵循自上而下的顺序,依次逐行执行。啊,别自乱阵脚。啊,方法体,任何一个方法体当中的代码都是遵循自上而下的顺序依次逐行执行的,所以你别乱,你说啊这个闷,调M1M又去调M2 m2又调M3 M3咋地咋地咋地咋地是吧,你这样去理解,你去调M1。
03:12
调M1的时候,程序就停到第七行了。啊,它会进到M1方法里边执行,一行一行执行,执行到M2的时候,哎,谁就停住了,谁就停住了,哎,M1就停住了,M1就停到第13行这不动了,然后M m2就开始执行了,M2执行过程当中呢,大家想第18行代码是不是就掉M3去了,那第18行代码是不是就停到这儿不动了,那是不是就就掉调这个M3方法了,那M3方法从头到尾执行结束之后,输出这个信息,那么这个M3方大括号里边代码一旦结束之后,是不是就代表第18行就结束了,第18行代码如果结束的话,是不是这个大框紧接着也就结束了,这个大框里边代码如果结束的话,是不是代表着第13行代码是不是就结束了?13行代码结束之后,是不是马上这个大块就结束了,这个大框一旦结束之后,我问你M1是不是结束了,M1方法执行结束之后,是不是代表第七行就结束了,第七行如果结束的话,那我你紧接着再往下继续执行这个大框里面代码是不是结束了。
04:08
这个大块里,当执行结束是不是闷,放完就结束,程序是不是就over了。那么这个程序的一个执行过程呢,我希望各位能够一个很好的一个呃思啊,这个清晰一定要清晰啊,就是你不要说啊,我从这调到这调到那,调到那就懵了,其实跟这个蒙不蒙没啥关系,你你依据一个规则去去去学习这个东西,这个规则就是当一个这个方法体,那么方法体里边代码它是遵循自上而下的顺序依次逐行执行的,你把这件事给它搞明白,其实就行了。啊就就就就行了,就是这样的啊,就行了啊,你说你们方法开始掉是吧,掉就掉M1,那M1就掉呗,那M1不结束,你M1方法不结束,我这个第七行就不会往下继续走啊是不是你可以,你可以输出一个信息啊,哎,你比如说你在这写上这叫叫什么呀,叫做men men begin嘛,是不是men begin对不对,然后接下来你这个set.out点打印输出什么呀?哎,Mano你看看啊,Man什么呀,叫做manover是不是,哎,然后接下来你在这呢,你可以输出一个就这么点out打印输出这叫什么呀?Me怎么着啊,Me begin啊,然后接下来到这是不是叫me over了是不是,哎,然后接下来你就。
05:16
就输出一个什么呀,叫me什么meo是不是可以测试一下来这边sit.out打印输出这叫什么呀,叫做二什么呀,2BEGIN呗,是不是,然后在这呢,out.print打印输出M2OVER呗,是不是M2方法开始,M2方法结束呗,是不是,哎这叫M2OVER,然后接下来在这个M3这调用的时候呢,M3这一块呢,咱们怎么着啊,哎也可以怎么着M3BEGIN呀,是不是,然后M3怎么着over啊,是不是M3OVER,那么大家看这个程序的一个执行顺序是什么。执行顺序是什么?是先输出这个对吧。来来执行,执行结果是啥?各位执行结果我们推测一下,推测啊执行结果各位是不是men begin先执行输出这个对吧,紧接着是不是往下走这个M1去了,大家都知道M1方法调用的时候,第14行是不会走的,为什么第14行不会走,因为我们M1这个调的时候,它就进到这个里边执行了,你进到这个里边执行的时候,这个大大框里面代码它不结束啊,这行代码它就不会结束,如果你大框里边代码结束了,你这行代码才算结束,所以它就卡到这儿不动了啊,所以这个不会输出啊,它会走这个M1 M1呢走它会输出M1BEGIN,对吧?所以第二个输出的是谁?是不是M1BEGIN啊。
06:39
对不对,好,那M1BEGIN之后,接下来是不是去调M2去了,那调M2是不是就是22行,调M2是不是进来这个里边执行了,那M2这块不是就停住,停到22行了,是不是,哎停到20行,停到22行之后呢?接下来M2是不是就begin了,你调M2去了呀,所以M2就在这begin了,那你M2BEGIN之后,你接下来去掉M3去了,去调这个M3是不是就进到M3里边执行了,那M3执行是不是就M3在这一块是不是就执行了呀?哎,执行M3的一个一句话,然后呢,又输出什么呀?哎这一句话,然后紧接着在这儿是不是M3就over了,是不是哎M3就很顺利就over了,那么M3一旦over之后,大家都知道这。
07:22
个大框里边代码执行结束,其实实际上是相当于我们第34行就结束了,那34行如果结束的话,那是不是就可以继续往下执行35行了,对不对,那三十五行是不是就是说M2OVER是不是M2是不是就over了对不对?哎,M2OVER,那M2OVER m2整个从这over了之后呢,这个大框的代码执行结束了,这个大框里的代码执行结束就代表27行是不是就结束,27行结束之后是不是就轮到29行是M1是不是就over了,是不是,哎,M1OVER,那M1OVER这一块呢,我们结束之后呢,就代表这个大框里边执行结束了,这个大框里边执行结束之后就代表M1怎么着over了,M1OVER之后呢,问怎么着啊就over了,那最后实际上输出值manover,大家看是不是问方法最先执行最后一个结束。
08:06
就是闷方法,闷方法,闷方法最先执行,并且闷方法是最后一个结束,结束闷结束整个程序闷结束整个程序就结束了,是不是啊,哎,所以说这块呢,哎很有意思啊,这个输出结果,那我们来看一下Java c呢,去编一下method。Method test05.java然后Java去运行method test05,我觉哎大家看这个结果跟我的结果一样不一样,是一模一样,对不对,没有区别对吧?哎,没有区别,那么我觉得是这样,各位啊,你不要自乱阵脚啊,你说这么多调来调去,你记住一句话就行。记住一句话就行,就自上而下的顺序。对,你只要只要心中有这句话,我觉得你问题就不大,你说你这分析那分析,你还不是自上而下的顺序执行吗?对不对,你只要把这个自上而下的顺序一句话给他搞定完事,这个结果你就能推算出来,就能推算出来这个程序的一个执行顺序,好吧。
我来说两句