00:00
啊来,接下来我们再来把这个动态代理呢给大家去,嗯,说一说啊,呃,说个什么事呢,我们来看,呃,刚才我们在实现动态代理的时候,我们用的是这个方法法,嗯,对不对,是不是用了这个process.new process instance啊,但是我们在讲这个process类的时候,我是不是提到了两个方法,看到了吧?OK,那接下来呢,我就用这个方法来给你实现一下。是吧,我得给你讲明白啊,他这个呃,用起来都是差不多的啊,但是这个东西用起来呢,就没有我们下面这个方法直接了,他就是什么很直接的,直接给你一个什么代理对象,而你要用这个方法的话呢,你就那什么自己去创建这个代理对象了,因为他给你一个class对象,你得自己去创建这个代理对象,但是这种方式我们更容易去理解,怎么把那个H传进去呢?明白吧,所以说呢,讲到这个还是让你去理解这个H是怎么过去的啊,我们来看一看,呃,那么在这个位置的话呢,我们就不再使用这个方法了哈,那我就嗯,怎么怎么写啊,拷贝一个出来吧,好吧。
01:06
角二能看懂吗?来把它拷贝成二哈来在这里面,那么这里面的话呢,我们就可以把什么干掉了呢,把这个一堆就给它干掉了。实现。好,这一个就给它干掉了,能看到吗?这个其实我们也可以干掉了啊,我们重新来写好啊,那怎么获取到这个pro对象呢?我们刚刚呢是直接拿到一个pro对象,而现在我不能这么做了,我要用这么这么个方法表get pro class能看到吧,我先过取到一个什么呀,Pro的class对象是class对象明白吧,但是我在过去class对象的时候,你看一下,他只要求我们传一个log跟一个接口,还用传那个H吗?因为你获取class对象他用不到H,而是真正去代理的时候才会用到这个H的啊,所以说你看看啊,这个位置我怎么写呢?还是class等于什么呀,它get.get class.get class能看到吧,OK,还是把它拿到啊,这个也是一样的啊,Class一个数组。
02:15
好,Faces等于什么呀?就等于我们的target加get class加get in faces,你看这都是反射里面的操作,对吧?所以说呢,反射特别重要的啊,我再强调一遍,很重要的啊,OK,然后拿到这个以后呢,我们就拿到了这个class对象了,那么大家来听我讲,呃,我有了class对象以后呢,我如何去创建出对象来,有几种方式,又是反射是吧?OK,最直接的一种方式就是什么呀?New是不是?但这种方式需要依赖于一个什么呀?构造器吧,无偿构造器,但是我们有吗?大家想那个代理类里面有无偿构造器吗?没有,所以说你用不了它,那用不了它的话,我们应该怎么办?是不是去获取你具体的那个构造器了吧?所以说第二种方式就是什么呀,我通过你的对象获取到具体的构造器对象,再通过构造器对象去创建出我具体。
03:16
写上来啊,说了一段绕口绕口令是吧?来写一下啊,怎么写的就是class.get啊说了不是cross class.get declare对不对,而我们知道的是什么呀,在他这个代理类里面这个可里面是不是有一个handle对吧?那我们在获取的时候,我这个位置是要指定一个,因为handle class是不指定那个类型的。对吧,通过什么类型来去获取吗?还记得吧,这个你获取方法是不也是这个样子的,那么我就拿到一个。
04:02
好,Construct型就不要了啊,Con就拿到了,拿到这个接口,拿到这个播道器以后啊,嗯,什么东西啊。啊,有个异常是吧,呃,异常的话呢,我们就这样吧,认下吧,好吧,好认一下来吧,那拿到这个过道器以后,接下来关什么事啊,那我就会做什么呢?你看con里面是不是也有这个new instance啊,但是现在的话,你在用instance的时候,就相当于你去执行这个构造器,执行构造器你就得给他去传递这样的一个对象吧,OK,那么大家来看一下,现在我在这个位置,我就要去扭一个invoc,看来了,好,我要去求它了,但是我们用的是一个,呃,匿名内部类的啊,通过它把它创建出来。看到没有,那么大家来看一下,这个最后给我返回的是一个什么对象,这就是我们的对象了吧,能看到了吗?所以说现在你再来看一下,现在你能联系起来是怎么把这个H对象传到我们这个代理类里面了吗?因为我们必须要通过他的这个构造器来创建我的代理对象,刚刚我们用的那个方法,它底层会帮我们去做这样的一个实现,好像现在就是我们自己来把这个过程给他实现出来的。
05:22
好来,我们把这个接着写完,大家来去感受一下啊,好,怎么写完呢?那我就不再麻烦了吧,这个东西写起来是都是一样的,CTRLC一下,好,这个东西写起来都是一样的啊,CTRLC一下,我们来到这,直接把它CTRL位放到这,好写好了。看到了吗?这就写好了啊,那么写好以后的话呢,我们也要做一个具体的测试啊,来我稍微把这个改一改啊,这是我们PRO2吧,好让你们能看到这个区点看明白了吧,Lock pro2啊,然后呢,拿到这个pro对象以后呢,最后呢,我也把它返回回去,返回回来以后呢,我们在测试的时候,测试的话呢,我们只需要什么呀,你有谁呀,你有个二是不是行了,这样我拿到了是不是就是一个我的那个啥,呃,那个诶这里面还有个错是吧,这哪有错啊,这个的错啊,这个不能再有了,我是不是写了两次啊,相当于好,那这就没错了啊来这个有异常,有异常的话呢,我们就给他声明一下就行了啊,测试嘛,也不用去管它了,好拿到这个代理对象以后呢,我们再来运行一下,大家来看一下这个效果。
06:41
哎,你来看一下出来了吗?出来了吧,效果是不是一样的一样吧,哎,效果是一模一样的,没有任何问题啊啊所以说呢,就是又给大家去讲了一下,我们通过他的第二种方式怎么来实现,那么这样的话呢,大家就更能理解哦,确实是要把我们自己写好的这个H呢,给人家传到它的这个构造器里面,然后呢,传到他的那个构造器里面以后呢,它就会什么呀,从这个构造器里面给到我的pro那个负类里面,能明白了吧?啊反正你不管它怎么绕,最终你在这里面用的这个h super点什么呀,H对吧,你在最终你在这里面用的这个H就是我们自己的那个H。
07:22
记住了吧,那就是自己的啊,OK,那我们就给大家说这么多了。我。
我来说两句