00:00
行,那么第二个呢,叫做类型注解。嗯,类型注解这块呢,就提到了两个,嗯,这两个咱们在哪看呢?在这看,嗯,不妨呢,还以这个surprise warming为例进来,它呢有个target target进来,Target里边呢,表明了你可以修饰哪些结构,有个呢叫element type进来,可以用来修饰,比如类啊,接口啊,属性啊等等,咱们那会儿看过了再往下走,有两个。诶,在1.8中加的,你看这个API这个文档里边,他还写1.8呢啊,他建议咱们说这个,呃5.0的,那时候不是改名了吗?说1.5呢,叫5.0了啊,你看他自己他还用1.8是吧?啊就是所以说大家写的话怎么写都对啊,哎,经常我们叫JDK8,或者叫这个呃,JAVA8啊,或者叫这个JDK1.8啊都行啊,知道是一个意思就行,在这个结构里边我们看到了一个呢叫type parameter,一个呢叫type use,这呢就算叫类型注解了。
01:10
啊,这两个结构就是我们要讲的,咱们在这个,呃,PPT里边呢,我这也有介绍。啊,这个介绍啊,这个type para matterter表示呢,该注解能写在类型变量声明的语句当中,比如说发行声明啊,Type use呢,这个能够使用在任何也你可以表示类型的这个语句当中。啊,这样光看这个解释呢,大家可能还是比较迷糊哈。啊,这呢就提到了这两个这个新的结构,那么我们来举例子说一下啊,比如先看第一个叫type parameter,现在有了这两个结构以后呢,咱们这个注解呢,就更强大了啊,可以修饰的这个结构呢,就更多了啊嗯,我这造了类叫generic。就个泛型的意思啊,这类名呢,你随便叫这个不重要,在这里边呢,我们回头讲泛型会写一个类型啊,这个类型呢,我就写成个T了。
02:08
咱们呢,用泛型不是用泛型,咱们用注解呢,去修饰结构的时候呢,呃,刚才看到的上面这样的一些,上面的这样一些呢,其实没有提到过,哎,关于这个位置的这个事儿。啊,没有关于他的事儿,那这个呢,回头咱们说呀,也是有必要,或者也是可以通过反射呢,来获取关于他的注解的,我们就可以在前面呢,我加上一个叫my not。啊,咱有个默认值,所以我这就不用赋值了,加上以后呢,这个报错。嗯,这个报错报错呢,是因为咱们也没说让人家可以去修饰这个结构,所以我们再进来,进来呢,只需要在这个位置,我逗号一下,我叫tap啊下划线parameter加上了,那加上以后再回过来,哎,你看这就可以了。哎,就相当于我们用这个注解呢,可以去修饰你这个泛型的这个类型。
03:04
啊,你你想希望它具有什么样的一些特点啊,什么样的功能展示啊,我们通过反射呢,再去得到你这个注解,再去看看要对它进行什么操作,哎,可以这样子啊,这呢就相当于让我们这个注解呢就更强大了,原来不能做这个事儿啊行,这呢就是type的parameter,还有一个呢,叫type use type use的话呢,我们接着来举例子啊,比如说呢,啊,这不写不写没方法了,写一个普通的方法。这个方法里边,方法里边呢,我们比如说这个用一下这个发型哈,后边咱们讲这个集合啊,这里提到了这呢,比如放一个string吧。就是我们这是一个泛型类型。我先用一下啊,这个后边呢,咱们讲这个,呃,这个集合的时候,讲发型的时候呢,大家就清楚了,嗯,这呢是一个string,这个string呢,在这个前边,你这是个类型,我现在就想修饰你啊,还类似于我们刚才这个写法啊,叫my notation1写就错了。
04:08
说这块呢,也不支持。呃,原来呢,JDK7之前包括七不支持,现在的话呢,我们就可以支持了。啊,这是一个位置啊,我再写一个,再写一个,比如说我这int一个number,这个是十,我加个L,把long型赋给这个int型,我们需要加上一个强转,在这个强转int前边,我们也可以去让它修饰。修饰一下,你这个到底强转的是哪个类型啊?哎,是这个意思啊,我们呢就加了一个my consultation,目前呢也不对是吧,哎,这是一个位置还可以呢,我们方法呢是可以去Rose。哎,异常,比如我们叫runtime exception啊抛异常,那这个异常到底抛的是什么?异常,异常的情况有没有其他的一些注释信息,咱们也可以给它加上一个注解。
05:00
但目前呢,你加完以后呢,他都报错,是因为呢,我们没有指明你让它修饰这个结构YIG呢,就是JDK8,之前呢这样做是不对的,那现在咱们在my notation这块逗号加上一个叫tap use,只要是类型的地方呢,都可以用,再回过来就不报错了。哎,这呢就叫做类型注解,那修饰的这些结构,我们接着还是通过反射呢,去拿到这个注解,看看你注解的值是多少,你到底是想干什么啊,再去使用这个主体啊,去完成相应的一些这个功能啊,啊这块我这个值就省略了啊,就不多写了。行,这呢,就是咱们讲的这个GTK8当中的这个新特性,叫做类型注解。哎,这个说完以后呢,整个咱们关于这个注解的内容呢,就说完了。啊就说完了啊呃,简单总结一下,注姐呢,在咱们JA话基础当中呢,其实要求不高,虽然讲完了看的东西挺多,其实大家细细品味,其实没有说特别难理解的啊,这个好几个点,那么注解呢,对于咱们后边呢,做障碍1E开发,后台开发,大数据开发啊,包括做移动端的安卓开发,这个框架当中呢,都是基于注解的越来越多啊,因为写注解的方式呢,会更简洁,把这个注解要求的事儿呢,我们通过反射去获取,获取的功能呢,又给你封装起来了,你只需要呢声明好以后直接就掉了,哎,更便捷了啊。那么大家呢,就是知道后边呢用的比较多,现在你知道注解呢,它其实就是我们这个类当中的一个特殊标记,有了这个标记以后呢,通过反射呢,去读这个标记,看看你要干什么啊,先理解这个事儿,后边呢,我们在框架当中用到注解了,大家就关注到底是哪个注解,干什么用的,去熟悉那个注解就可以了啊。
我来说两句