00:00
好了,这是这个各位啊,那有同学说老师咱们这个注解当中的这个属性可以出现出现哪些呢?可以出现哪些类型呢。对吧,就这个属性,前面这个类型可以是哪些类型,这个类型可以是哪些类型。来,我们看看啊。看一看这个,所以这块呢,我需要在这再去建一个package,叫ANNOATION4行吧,然后在这里呢,我去新建一个class,我叫做my annotation,还叫这个啊,My annoation,然后接下来选中这个annotation啊,回车就行了,这是一个注解。那么注解当中的属性都可以是哪种类型?注解当中的属性可以是哪一种类型?比如说我们t value行不行,你看就不行啊。对吧,你看行不行不行啊。对吧,但是你印它行不行呢。
01:03
可以吗?来这个假如说叫Y61啊,你看这个Y62,那我印的数组行不行呢,Y63。可以对吧,润数组行不行呢?Y64。那我枚举行不行呢?假如说我在这里有个枚举类型。各位看啊,Class season season啊,举。枚举啊枚举,有春夏秋。东是吧,哎,枚举类型,那我这儿可以是枚举类型吗。比如。Season啊。VALUE5。诶,可以是吧,可以是。呃,可以是C数组吗?六六。
02:00
诶,你看可以是吧,注解当中的属性可以是哪一种类型?Int型string型,Int数组型string数组型枚举型枚举数组型class行不行,Class parater type。Class数组行不行,来可以,你看class数组parater什么呀,Type你看是不是都行啊,对吧?哎,我告诉大家可以是什么啊,Bit short inlo float double bulling char啊都可以啊,都可以,然后呢,要知道string可以啊,String可以来可以,然后class可以啊。可以属性的类型可以是它们以及以上每一种啊,还有枚举啊,还有枚举各位枚举类型,以上每种类型的什么数组形式,你记住这个就行了啊,就是说我们注解当中这个位置出现的这个叫属性,属性前面的这个类型。
03:06
它可以是什么呢?这些类型以及每种类型的数组。就你败的数组,少的数组,In的数组,浪数组,Follow up booing char string数组,Class数组,枚举类型的数组都可以。啊,都可以。明白什么意思啊,就这意思啊,就这意思,嗯,你看season是不是个枚举啊,对吧?哎,可是枚举别的类型就不行了,各位啊,别的类型就不行了。那么现在这个注解我们怎么用?我再重新来一个吧,别在这个注解上折腾了各位啊,来。我再来一个注解,Class,我叫over annotation。啊,Over annotation啊,然后现在呢,我在这个over an notation,哎呀又又又写错了,前面呢加一个什么呀,叫做at interface。Interface啊,然后呢,接下来我在这个other annotation里边呢,我给一个什么呀,给一个int类型的age,然后呢,我再给一个此类型的这个数组。
04:11
我叫做兴趣爱好吧。Interest。嗯,或者叫email吧。Email吧,邮箱啊,邮箱地址,这是一个年龄属性是吧?哎,这是什么呀,这是个叫做邮箱地址属性,支持数组。这十多个吧,是不是好,那么接下来我来用一下各位啊,我在这呢,就新建个class,这个class叫over哦,呃叫other。Annotation test这样一个测试类,我这个测试类当中,我就直接以类的形式去去用吧,啊也行,用方法也行啊,再来个方法吧,嗯,费点劲写一写do some好了,那写完这个方法之后,我希望呢,在这个方法上用一下这个注解,怎么用呢?我把这个注解拿过来。
05:06
Otheration other anation报错了,那很正常,这里面也应该有东西嘛,是不是?哎,应该有东西,应该有age和email嘛,Age这一块呢,你就指定呗,Age那就25岁吧,那呢,Email后边是个啥呀?各位你那该怎么写呢?啊。这个email后边是个啥呀?它是个数组吧,而且数组里边是此论吧,所以这儿只能怎么写。是不是这样写呀,是不是大括号啊数组啊。数组是大括号吧?数组是大括号啊,来这块你写上,比如说张三at123.com对吧,哎,李四at。或者张三艾特搜狐点搜狐点。com。这不数组吗,是不是?
06:01
那另外有一件事我要告诉大家。把这个复制一下。复制一下啊。如果数组中只有一个元素。大括号能不能省略呢?完美啊来,如果数组中只有一个元素,大括号可以省略,这都是一些技巧,各位啊,你看,没有写大括号你看。对吧,是因为只有一个元素啊,有一个元素的大罐可以不写。你看你这是不是得写上啊,因为你有两个元素对吧,我这边只有一个元素大块是可以省略的,可以省略的。那么。假如说我这里有一个season这样的数组。叫season。
07:00
这个叫做季节什么呀?季节数组C是个枚举啊各位,现在这个season点过去看,它是个枚举。看见了吧,哎,Season是个枚举类型啊,是枚举类型,那么如果是这样的话,各位告诉我这个程序都错了。对吧,哎,都有问题了,你需要指定什么呀,指定它的一个。属性啊,因为你这块有这么一个属性叫season array啊,Season array等于什么?大家看好了,这是一个什么数组。既然是数组,那么这块我就得加大括号,大括号里边存的是什么元素呢?哎,因为你数组里边只支持枚举season,所以这块应该是season点什么?哎,Spring对吧,逗号season点什么呀。那么我也说过,如果数组当中只有一个元素,大伙是可以省略的吧?来数组当中一个元素,那C的。
08:02
第二。对吧,诶你看。是不是数组当中只有一个元素的话,大块是可以省略的,如果有两个元素的话,你就不能省略了,那就不能省略了。现在我问大家这个代码能不能看懂?讲着讲着大家就能看懂了,来告诉我这是什么意思?这省啥了?先,我们先说这个吧,各位。这省了一个什么东西。这是个什么枚举?这应该有个属性吧,这个属性名省了,这个属性名叫啥。各位这个解。
09:02
这是ten,是个注解吧?点过去了,点了啊,我点过去了啊,走了啊走。看见了吗?保持性策略它是个枚举,你看见你看它是个value吗?它是个枚,你看点过去走,你看你那枚举。保存在原文件中。保存在class文件中,保存在原文件当中。对吧,哎,并保存在class文件中,并且可以被反射机制怎么着所读取到。Annotation element可以被反射机制所读取到,看见没有?那这是保持性策略吗?枚举吗?你现在你先能不能看懂这个程序。DEP的这个已过时的这个注解上面有个圆注解。这个圆注解用来注解这个注解的一个注解,所以这个叫圆柱解,这个人它是叫圆注解,圆柱解里边点开你会发现这里面有个value。是吧?这个value它的值是retention policy retention policy有三个值,South class和runtime,所以你现在再看这个程序,能看懂吗?这是什么意思?
10:09
设置下面的这个deprecated的这个注解。他可以怎么着?可以被反射机制所读取吧?是不是,哎,那再看他改的这个能能看懂了吗?Y6等号为什么加个大括号,各位告诉我为什么。为什么加个大括号?因为value是一个数组吧。对吧,这个value应该是个数组,来点过去大概的啊大概的走了啊走你看啊走你看它是个数组。并且这个数组当中每一个元素,它是个element type element type是枚举。看见了吗?Element type是枚举。其中这个用来指定什么,它可以出现在类上,字段上,方法上,参数上,构造方法上,局部变量上对吧?注解类型上,包上。
11:07
对吧,哎,你看还有一些别的什么模块等等等等。对吧。能看懂吗?这是圆柱解呀。诶,这不圆柱结吗。我们可以再继续细划细划分,同学们还在听课吗?我感觉大家好像。有点迷糊吗?这是。没讲啥呀,注解就讲四个注解讲讲。底层解支持支持哪些类型说。
12:06
可以,没问题。我们不是deeper Kitty啊,是他。Retention的源代码看一下。Retention。这个吗?是吧?这个注解当中是不是有个value啊。Return policy是个啥?这是个什么属性,对吗?这是不是圆柱呀?
13:06
整个我们叫圆柱。用来标注注解的一个注解。它有个属性叫value。来这个类型,它的源代码可以拿过来。拿过来放放过来啊,研究一下呗。是不是,反正咱们。这个东西不着急着着急啊是不是。来。嗯,看源代码。对吧,你看再看一眼,这是这个圆柱解,它里边有个value。
14:05
对吧,哎,它这个value的属性吗?它的值是这个吗。这个值这个值和这个值吗。现在来个class麦。My class上面来一个什么呀。不是my class啥,My class my annotation。前面加个interface。你这是个注解吧,我是不是可以用这个注解来修饰这个注解呀,这个注解原注解吗?是。对吧,括弧里边实际上是value,这不一个属性吗。Y等于啥?等于这个值呗,这个值是枚举,那你就点什么呀,比如S。
15:00
这什么意思?告诉我各位。这是啥意思啊?表示这个注解只保留在什么?源代码当中,如果这个是class的话。表示这个注解可以保存到自解码文件当中,如果这个位置是一个run time的话,表示它这个注解MY可以保留在哪啊class文件中,并且可以被反射机制所读取吧?那当然,你这个代码的写法,如果你是一个value的话,我不说了吗?你可以省略。买了。这样写吗?对吧,叫retention retention policy,所以你现在看见来这个代码不不就这个德吗。这个。吗?就说你这个注解它的保持性策略是runtime策略。你现在这个位置也可以省啊,这个value率是可以省掉的。这个value是可以省掉的。啊,只不过他原代码没省。
16:00
你看数组里边多个元素吧。是不是多个元素得加大括号吗?这是个数组啊,你点它里边是不是数组啊。对吧,哎,数组,嗯。这个数组里边每个元素它是个枚举,你点过去,你看枚举吗。是不是,那你是type的话表示可以出现在类上面吗?Field表示可以出现在属性上吗?就这个意思啊。
我来说两句