00:01
行了各位,那咱们就继续再往下吧,啊,再往下了。我们上节课呢,在最后的时候呢,我们说了一个非常重要的一个内容啊,这个内容呢,是我们获取一个方法是不是,哎,拿到这个方法之后干什么呢?哎,拿到这个方法之后呢,我们直接呢,通过反射机制去调用这个对象的方法,其实我们到现在为止重点已经讲完了,各位啊,再往后就没什么重点了啊,就是这个关于反射机制这一块重点已经说完了。啊,已经说完了,其实就两个重点,各位就俩哪个呀,一个是第十个这个例子。还有哪个呢?对,还有第七个这个例子。就七和十是重要的,就你怎么通过反射机制去访问一个属性。啊,然后还有就是你通过反射机制怎么去调一个对象的方法。就哪怕就是说你要是没时间对吧,你别的都可以不看,但这两个你必须得把代码练会了。啊,把代码练回来,在这里提醒一下各位啊,提醒一下,因为这个呢,在我们以后的这个开发中用的用的这个虽然不是很多对吧,但是在这个一些框架底层源代码当中,你经常会看到这些代码啊,你要能看懂对吧,你要看不懂那就那就不行了呀。
01:14
是不是啊,当然在这呢,我还说了一个什么呀,可变成参数的事儿,是不是这个参数呢,在后边加三个点是个什么意思,加三个点啥意思对不对,哎,这个呀,这个呢,要能能够能够理解啊,能够理解。好。呃,听着觉得挺多啊,单词记得单词记得比较费劲,嗯。这个单词费劲吗?这个单词。单单独第七个跟第十个吧,这两个例子拿出来,就这些单词。多吗?不多不多啊,不多。
02:00
就你看的多感觉多啊,其实也还行。也还行啊,第七个和第十个这两个例子啊,标一下标一下你自己在笔记上你标一下是不是好,那咱们就接着再往下吧,再往下咱们整一整这个,整一整谁呢?咱们整一整这个。嗯。嗯。这个东西。我们来反射constructor。各位啊,反。直接上来反射啊来。我们叫reflect t11啊。我们直接是反编译吧,反编译一个类的constructor构造方法行吧,哎,构造方法啊。那我得先给一个类是吧,先给一个类吧,给一个什么类呢?再B一下,我给一个啊class。呃,这个class呢,我就叫做。
03:05
什么累呢?嗯,VIP啊。随便给个类啊。这类当中给点属性吧。给点属性啊,比如说。有编号有有编号啊,有名字。有。年龄行吗?吧,生日啊,然后有性别。行不行?构造方法给一个无餐的。我就不写了来多low啊,是不是构造方法给个午餐的?构造方法,再给个有参数int的。行吧,构造方我就随便给几个啊,主要不是来给两个的。行吧,嗯,再来一个构造方法,是给三个的。
04:04
行了。再来一个构造方法,是给四个的啊。我多写几个瞎写的啊,来,我我想把这几个构造方法都拿出来。我想把这几个构造方法都拿出来。那怎么了?Builder吧。是不是,哎,New一个什么呀,String builder啊出来,然后呢。Class得先有吧,Class叫做VIP class对吧,哎,等于class点什么呀,For name,这个时候把这个VIP的这个类名怎么着给他拿过来。啊,就这个点右键copy一下,然后拿过来放到这儿,异常先不管了啊来,那么这块呢,我们拿到这个class之后呢,我们现在呢,可以点ipad追加呀,追加一个。什么呢?对吧,哎,我们再去追加,追加一个结束吧,是不是,哎,那追加这个类的话,这个类是谁,我们可以复制一下,可以先复制一下啊,拿过来再改呗,是不是杠N。
05:08
你这边呢,也可以给它分开啊s.ipad追加追加什么呀?叫做fair.to string是吧?哎,叫做什么呀?叫做VIP class.get Mo fairs,这是个修饰符呗,修饰符后边是个空格s.ID追加追加一个空格进去是不是?空格后面加一个class class后边又一个空格是不是?哎,再往后面就加个类名,点ipad追加个类名,这个类名叫VIP class.get什么simple name。对吧,下的话S点加就行了,加一个啥,加一个这样的东。是不是,哎拿过来拿过来好,那在这呢,我们输出一下S啊,你拼音字符串,你效率比较低啊,对吧,都给它追加进去,这样效率比较高一些,创建对象可能稍微少一些啊好,这是这个VIP,那么这个类有了之后呢,在中间我们构造呗,对吧?哎叫拼接构造方法,那怎么拼接,我相信大家应该是能够猜到吧,Construct数组吧。
06:08
是。对吧,哎,应该是VIP这个类,它调get declare的是不是,哎constructors是不是拿拿到所有的构造方法,这构造方法是不是循环呀,Constructor constructor constructors是不是好,那么每循环一次拿到一个构造方法,所以这块首先第一个应该是追加一个杠T喽。是不是end asend注意加什么呀?追加一个修饰符对吧,哎,因为我们拿过来这个构造方法,拿一个看着是吧,哎,构造方法比方法还简单,因为那个这个没有返回值。对不对,这个没有。来,拿过来一个勾方法看着啊,修饰符啊,fair.to construct勾方点get fears。套路都一样,构造方法的修饰符转转型这个空格,空格的话点ipad追加空格是不是好有了,那有了之后呢,空格后边直接就是个类名了,类名S点追加一个类名呗,对VIP对吧,或者constructor,这个constructor也行啊,都行都行啊,VIP class吧。
07:19
Class get什么呀?Simple name就行了啊,这个就是构造方法的方法呗。那再往下呢,第一个参数是一个小括号,最后一个小括号还有个大括号是不是,那就直接老规矩呗,点ID追加,追加一个什么呀,小括号呗,是吧?哎,再来一个追加一个什么呀,小括号结束呗,再一个大括号呗,再加个杠N呗。是不是中间这块我们就拼接参数吧,哎,叫做拼接。参数,那拼接这个参数的话,那你就拿这个构造方法,这个构造方法叫get PAR meter,这个方法不就拿到这个参数的类型了吗?老规矩嘛,对吧,参数类型叫parameter什么哎,Type斯嘛,那对这个参数对的进行循环是不是,哎,Class parameter type parameter types。
08:07
哎,你看是不是哎,那这样的话,咱们是不是就for循环这一块,就便利这个参数就行了,参数取类型呗,s.a追加谁呀,追加parameter type它的类型点什么呀?Get simple name是不是,哎,然后呢,再去追加一个哎逗号对不对,因为你参数参数之间用逗号隔开嘛。是不是,哎,最后一个再去掉s.delete叉at是不是应该是我们S点什么呀?Les减一把最后下边位置上那个字符删掉啊删除。最后下标位置上的字符删除之后再去追加啊来走一个。我们来看这个构造方法是不是可以。这不构造public class VIP看。是不是这是构造方法诶。这少一个,这咋回事啊?
09:02
Public VIP括弧。嗯,有问题有问题。Name。这开始诶。这怎么还有警告?什么原因,各位?最后这个不对啊。Public class VIP。嗯。直直直接给干没了,这个没事儿,这个没事儿,这个没事儿,这个没事儿,这个干没了,把那个大,把那个小框给干没了。是吧?所以这还得还有个小bug。
10:00
对吧。如果参数的个数是大于零的,再删。如果这个参数啊。这个数组。它的Les是大于零的情况下再删。这样就没事了啊,嗯,这样就没事了,我们刚才那个方法可能也有这个问题啊。这属于了解的一个内容,各位啊,了解这是反。反编译如果把这个地方的类名换一下Java language。是吧,String类的构造方法也挺多吧?执行一下。这是不是string这个类的构造方法呀?对吧,哎,这是所有的构造方法,你看有bad数组吧,是不是有bad数组一部分。啊,对不对,哎,了解一下啊。
我来说两句