00:00
行,那上面这个呢,咱们就不需要大家掌握了,这是我们作为过程出现的啊,这个不需要掌握,这个呢不理想,这个对属性的要求太高了啊,那么接下来我们看一下如何获取,或者要如何操作这个运行实例中的指定的方法。指定的方法。这个呢也需要大家掌握。诶,我们test或者直接写掉method这样了,那这个方法的话呢,我就不给大家去演示类似于上面这个叫get method了啊,那你肯定也知道是这样一个特点,所以呢,我们就这种不通用啊,咱们就不讲了,哎,咱们呢也讲类似于咱们下边这个叫declare的这种方式,首先先拿到我们的大class的实例。哎,调方法方法的话呢,我们其实也也也提到,你要具体讲的话呢,又分成静态和非静态了哈,咱们先来说一下这个叫非静态的,非静态的方法必须呢要有运行实力的对象,所以这个代码呢,也得必须有异常呢,也是先抛一下。
01:18
哎,这样子啊,那接下来首先呢,要做的第一个事儿叫获取指定的某个方法。哎,获取指定的某个方法,这呢,咱们挑一个比较有代表性的。它就可以,哎有参数有这个反应类型权限呢还比较小,哎这个呢就OK啊,然后过来,嗯,这呢,我们就直接呢,通过class.get declared method这个参数。哎,这个首先参数一叫方法名叫受,就是受啊。
02:02
这这是第一个参数名,然后呢,它后边有一个可变形参,这个叫参数二,这个可变形参呢,描述的就是叫这个名的方法呀,可能有很多,你是不是得告诉我用的是哪个参数的是吧?哎,我们用的是这个string这个型参的。哎,是这个意思。啊,是这个意思啊,所以这块呢,我们需要呢,把这个方法呢得说清楚啊,此时呢,咱们调的叫get declared这个method。那这个方法,这个方法的参数一。哎,他呢,指明。哎,这个调用或者叫获取的啊获取。嗯,获取指名获取方法的名称,你要获取哪个方法,这是参数一,然后参数二呢,这个同名的方法呢,可能很多,因为重载,所以呢,你指明这个获取的方法的形态列表。
03:08
哎,就是这样个情况。嗯,行了,那我们就找这个形态列表的,哎,方法啊al enter,咱就得到一个master,不妨呢,就还叫受了,那叫授,对于方法来讲呢,那就是被对象或者被这个类呢去调,那这块我们就直接show呢去调一个啊引VO引用课呢,就是调用的意思也是有两个参数啊第一个。是什么呀?对,你是用谁调的,咱们呢是一个非静态的方法,咱们用这个P对象去调,那第二个参数呢。哎,对,你这块呢叫形参,你调方法咱们不都填实参,那你这块也是一样啊,这呢我们写一个,比如叫C身啊,这样你看这个方法呢,咱们也得去描述一下啊,哎叫啊这呢是咱们的这一步叫invoke。
04:03
哎,VO呢,方法又有两个参数,参数一啊,就是相当于方法的这个调用者,哎,这是这个,然后参数二。32呢,就是我们这个方法的这个食参啊,或者说给这个方法行参赋值的这个食参。那因为呢,你这块是可变型参有多个,这呢我自然也是一个可变型参的写好了,那写好以后呢,我们就想去执行一下,看看行不行,哎就挂了,还是这个叫非法进入,跟上边这个问题一样,所以在这个之间呢,还得要加上一个操作受私有的不行,所以呢也得set accessable,哎改成是个true,哎这呢我们三步呢就出来了,第一步获取指定的某个方法,第二步哎跟我们属性一样,保证当前的这个方法呢是可访问的。
05:06
哎,当前方法是可访问的,然后第三步哎就是调用,哎调用我们这个哎方法的叫invoke这个方法,哎去执行。看直行好再来。哎,这呢,我们就执行了。好,还没完事啊,那我们这个事物方法呢,你会看到它有返回值,那在咱们这个问题当中呢,似乎没有体现出来这个返回值,嗯,那像原来我们要调的话呢,不都是咱们要是按照原来的思路是通过P去调这个受方法,哎,这呢,咱们传了一个值叫CHN啊,这相当于是我们改成用对象的这种方式啊,正向的这样去调,那前面呢,我们就可以用一个string呢,比如叫nation呢,去接收一下你这个方法的返回指导。
06:00
那这个返回值在我们这块怎么体现呢?啊这呢,我们要说这个引物方法呀,它就有返回值。哎,说invoke方法的返回值啊,即为对应啊,这个类中同名啊,或者这个这个调用,呃,调用的这个方法的这个返回值。哎,说的有点绕哈,咱们这呢叫调用方法,你是哪个方法呀,是这个名这个参数的那个方法,哎,就相当于咱们这里边这个受方法啊,这个方法的返回值,就现在用我们这个引work的方法的反回值呢来反馈。啊,所以这叫in work,这个方法的返回值即为对应类中你调用的这个方法的一个返回值啊,这个你知道的意思啊,那我们可以前面来接收,接收呢,它默认呢,又是一个object啊,其实就是return返回值啊,一个value啊,诶这样。
07:02
那在咱们这个题目中,这个排位值不就是CHN吗?哎,咱们呢,可以做一个输出,你也可以做一个强转啊。转成一个。哎,这不就拿到这个C了。行,那这个关于反射调方法这个呢,情况比属性其实出现的多,那那调方法这块呢,典型的就是我们这个引卧方法的调用,所以这块呢,大家要熟悉啊,那为了保证它的调用呢,是正确的,没有异常,哎,我们呢要保证它是可访问的,哎这样的情况,行哎按说呢已经说完了,但是我们再稍微呢补充一个事儿,毕竟方法是不是有静态的,哎我们看那如何调用静态方法呀,看一下下边这样一个情况,我们在person类当中整一个精态方法。说我是一个人,那你就是静态得了,哎,这个还不行,这个静态呢,咱们是继承实现了某个接口的啊。
08:01
嗯,这我写了个接口,这接口里边是这样写的,诶啊对,这个不是静态的是吧,那咱们就干脆算了,不用它了,这个是实验接口的,这个也不用了,写一个吧。Public private,其实无所谓哈,Static写一个show。受de吧,哎,显de啊,这个显示一个具体细节啊,这呢我们写一个c out说哎,我是一个嗯,可爱的人。哎,这样我们看看这个呢,怎么让它执行回过来,现在呢,我们想调用一下刚才说的这个方法,这个方法的声明呢,长这个样子。哎,这个我就不妨就放到这了啊,现在我们要进行一个调用,调用的话呢,首先你得拿到这个方法,拿到这个方法我们通过class.get declared method,方法名就叫它是没有形态列表,不用写了,哎,第二个呢,可变形三本身呢,也可以是零个,就这样al enter得到我们这个方法。
09:16
方法呢,不管你这个权限是什么,我都给你加一个accessible,哎,是一个可访问的第二步,第三步调用,调用呢,我们使用咱们当前这个叫受dic dr2啊VO了,嗯,对work,呃,Work的话呢,参数一就是调用者。调者是不是当前类啊,咋写在那写class是吧,哎说a class其实呢,就是它呗,你用当前类去调不就是这样呗,哎然后呢,又没有参数,没参数就不用写了,是不是这样就行了啊,然后这个方法呢,也是个word的这个,这是wide的这块,你要愿意接呢,也可以接。
10:00
Return,嗯,Tu啊va吧,这个呢也是个返回值,就是人家这个方法是肯定有返回值的,但是我对应的这个方法没有返回值,那那那它是啥。对,他就是闹呗,那你必须有返回值,那你人家这又没有,那你就闹呗,哎,就这个意思。看看。执行。诶,你看这不就可以了,这个闹呢,就是咱们说的这个,哎对应这个方法的一个返回值啊,在这我们表明一下说呢,哎,如果这个调用的这个类啊,运行时类哎中的这个方法呢,哎没有返回值啊,则此引VO方法它呢返回nor。哎,就是这样个情况,行这呢就完事了啊,那那多说一句,这个位置呢,我写了一个person.class。
11:02
啊,有的同学呢,自己写的时候呢,啊,有没有同学可能会没写,没写肯定不对哈,因为人家这块俩参数俩参数呢,第二个是可变形参,你第一个是不是肯定得写一个呀,肯定写一个呢,我写谁呢,我这写个no。哇,还可以写now吗?我估计大家写的话,也很难想到谁去写个闹是吧,哎,你写的话呢,写成它我觉得也很合理啊,写个闹这个写个闹,你看我这种能不能跑。你看一点不影响,诶这怎么这也可以呢。诶这块呢,其实就不用管它了,写不写说白了写不写都行啊,因为我调这个invoke是通过他调的,他呢是通过我们class拿到的,本身这个class它就知道你这里边静态是啥,我上来就直接调了,就就这个意思啊,只有非静态方法呢,我才知道,才需要知道你是哪个对象的,因为不同对象的这个方法调的时候可能里边不一样是吧,那静态方法呢,这个每个对象调不都一样吗?我这个class本身我不就是当前这个运营实类吗?
12:14
所以就不用你再去给我付了,说白了那不用付呢,这个位置又要写一个,那就写个闹呗,那就行啊,那就是这样也写也可以,但是大家呢,可能更好理解的话呢,是它,那你就写成它也行啊,这两个都OK啊。行,那这个方法呢,就说完了方法我要说完了以后呢,你想想我们上边这个属性哈,我这呢没有举静态属性,你是不是大概也就知道了,哎,那就是这块set的时候,这个位置是不是就写当前类点class,或者呢,是不是也个now啊,哎,这个位置呢,Get当前类条class,或者你也写一个now,哎就行。啊,类似的啊。
我来说两句