00:00
我们来演示一下别的情况好吧?通过反射机制,你要会读这个东西来package。ANNO6啊,然后呢,去新建一个class,这个class叫my annotation。Dit啊,来枚举啊,不是枚举那个注解,那么这个注解呢,上面上来指定我的保持性策略retention policy啊,然后指定它可以出现在类上面,Target行吧,哎,然后叫element type,然后呢,方法上吧,行吧,只允许它出现在方法上,就这么着了啊。然后呢,这个me notation呢,这个里边呢,有什么呢?有这个信息啊,比如说我们有一个信息叫做username username。啊,然后呢,有一个信息叫password行了。Password啊,那么这个时候呢,我们有两个属性啊,这是一个属性吧,有name属性吧,这是不是password属性吧。
01:01
对吧,哎,Password属性啊,那么现在呢,我们指定了这些属性呢,然后接下来我们把这个注解用在方法上,因为它只能用在方法上,是不是,所以现在呢,我们在这里啊,就创建一个class,我们叫my an。来在这里呢,我写一个方法,Public want do some这个方法,我在这个方法上面呢,我加一个什么呢?注解,这个注解叫mynoation啊报错了,应该是啊,为什么报错呀,因为mynoation里边它需要啥呀,需要一些属性,对不对,哎,需要一些属性,那有user nameme,有password,所以这里呢,你需要指定这个属性就是啥叫user name呗,对吧,等于张三。或者是admin对不对,还差一个属性,这个属性呢,叫password是吧,来写上123,那么接下来我想通过反射机制去取这个方法上面的这个属性,这个注解里面的这些值,我怎么取?
02:03
就是我要做一件事啊,就是获取,获取这个类的do some方法上面的注解信息,我通过反射机制该怎么拿,各位告诉我,首先你想获取这个信息。你就必须获取这个方法。你首先想获取这个方法,你就必须得先获取这个类,当你把这个类拿到了,你才可以拿这里面的方法,拿到方法才通过方法去上拿上面的注解。所以这个呢是有讲究的,所以在这里呢,我们就先去拿一下我们这个类。那class是不是,哎,等于class.for name把这个类名拿过来放到这,它这个类名要求是类的全路径复制一下来,直接粘贴过来好了,那么这一块呢,咱们呢,异常先不用管了,各位啊,那么接下来我们这个程序啊,往下我们要干什么呀,获取什么呀。
03:03
获取do some方法是不是?那怎么获取方法get declared method,你看方法名是不是叫do some,这个方法是不是没有参数啊?所以后面就不用写了,那返回的是不是就是do some method?这样是不是就相当于拿到了我们的do some方法呀,各位do some方法拿到之后呢,接下来我们我们怎么办呀,我们得看这个方法上有没有这个注解。对吧,就判断什么呀,判断该方法上是否存在这个注解,If对不对什么呀,Do some method,点什么,Is present。谁呀,叫my class这个参数跟上对吧,就是你do some这个方法上有没有这个注解,如果你有这个注解,OK,我调用do some method这个方法,它的get annotation这个方法。
04:02
然后my annotation的写上点class,好,这样的话我们就可以返回一个my annotation,你看my annoation my annotation是不是好,这样的话是不是就把这个方法上面的这个注解就拿到了。拿到这个注解之后呢,我们输出这个注解的有nameme,我们输出这个注解的,诶password就可以了。这不就是注解对象的u nameme和U和password吗?对吧?哎,这个注解上的u nameme属性和password属性吗?是不是,哎,我们直接执行就行了,你看我们就可以把这个admin和123就拿到就行了,你看可以拿到那注解上呢,信息改一改,改成别的,我们再去执行我们的程序,你看。拿到这个信息啊。对吧,现在是出现在这个方法上的,这个注解里边的这些数据,这些信息,我们是都可以通过反射机制拿到的。这个注解不用写名吗?
05:01
不用啊,你写报名干嘛呀,他就是个类啊。你在同一个包下呀。这同一个包吗?你这个包不是六吗?这个这个这个不是EDUCATION6吗?在同一个包下,你加包报名干啥呀。在同一个包下。不在同一包下,你导包,不在同一个包下,你的导包。那边收到了吗。同一个包不用不用啊。啊。你不在同一个包下,你得倒包,就这意思。那么到目前为止,大家理解注解是干什么用的了吗?注解到底有什么用?注解有啥用?不同包下啊,不同包下的话需要打包啊。你换个别的包,那你毕竟是个类啊,对吧,你再是个注解你是个呀,对吧,你导包啊,导进来import呀。
06:02
嗯。一个是配置信息。其实注解就是一种什么呀,对程序的一种注释。然后呢,我们将来可以获取到这个注释。对吧,如果这个上面有这个注释信息就怎么着,没有这个注释信息怎么怎么着。他可能会做一些事情,你比如说这个类上有这样的注解,我就做什么什么事啊,你在你反射机制当中,你想想,如果这个类上有这个注解的话,我就做这点事儿,如果这个类上没有这个注解,我就怎么着怎么着的,这样吧,咱们先休息十分钟,下节课我来模拟一个真实的案例,行吧。就是注解到底有什么用,行不行哎。
我来说两句