专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
相关文章推荐
复利大王  ·  江浙沪美女留子回国下嫁怀孕后悔 ·  23 小时前  
复利大王  ·  某一线女网红下海? ·  23 小时前  
复利大王  ·  旅行卖淫:白天陪玩晚上陪...警方:严厉打击 ·  23 小时前  
复利大王  ·  好牛的幼儿园 ·  昨天  
复利大王  ·  老同学中捞一捞能不能找到免费P友 ·  昨天  
51好读  ›  专栏  ›  鸿洋

Android注解快速入门和实用解析

鸿洋  · 公众号  · android  · 2017-08-02 07:30

正文

请到「今天看啥」查看全文


  • RUNTIME:运行时才生效。



  • 如下图X1,com.android.support:support-annotations中的Nullable注解,会在编译期判断,被注解的参数是否会空,具体后续分析。



    @Target


    Target标明了注解的适用范围,对应ElementType枚举,明确了注解的有效范围。

    • TYPE:类、接口、枚举、注解类型。

    • FIELD:类成员(构造方法、方法、成员变量)。

    • METHOD:方法。

    • PARAMETER:参数。

    • CONSTRUCTOR:构造器。

    • LOCAL_VARIABLE:局部变量。

    • ANNOTATION_TYPE:注解。

    • PACKAGE:包声明。

    • TYPE_PARAMETER:类型参数。

    • TYPE_USE:类型使用声明。


    如上图所示,@Nullable可用于注解方法,参数,类成员,注解,包声明中,常用例子如下所示:



    @Inherited


    注解所作用的类,在继承时默认无法继承父类的注解。除非注解声明了 @Inherited。同时Inherited声明出来的注,只对类有效,对方法/属性无效。



    如下方代码,注解类@AInherited声明了Inherited ,而注解BNotInherited 没有,所在在它们的修饰下:

    • 类Child继承了父类Parent的@AInherited,不继承@BNotInherited;

    • 重写的方法testOverride()不继承Parent的任何注解;

    • testNotOverride()因为没有被重写,所以注解依然生效





    2
    自定义注解


    2.1 运行时注解


    了解了元注解后,看看如何实现和使用自定义注解。这里我们简单介绍下运行时注解RUNTIME,编译时注解CLASS留着后面分析。









    请到「今天看啥」查看全文