作家
登录

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

作者: 来源: 2017-10-07 13:47:02 阅读 我要评论


起首什么是注解?@Override就是注解,它的感化是:

  • 检查是否精确的重写了父类中的办法。
  • 标明代码,这是一个重写的办法。

1、表如今于:检查子类重写的办法名与参数类型是否精确;检查办法private/final/static等不克不及被重写。实际上@Override对于应用法度榜样并没有实际影响,大年夜它的源码中可以出来。

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

2.1 运行时注解

2、主如果表示出代码的可读性。

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

一、注解基本快读

1、元注解

元注解是由java供给的基本注解,负责注解其它注解,如上图Override被@Target和@Retention润饰,它们用来解释解释其它注解,位于sdk/sources/android-25/java/lang/annotation路径下。

元注解有:

  • @Retention:注解保存的生命周期
  • @Target:注解对象的感化范围。
  • @Inherited:@Inherited标明所润饰的注解,在所感化的类上,是否可以被持续。
  • @Documented:如其名,javadoc的对象文档化,一般不关怀。

@Retention

Retention说标清楚明了注解被生命周期,对应RetentionPolicy的列举,表示注解在何时生效:

  • SOURCE:只在源码中有效,编译时摈弃,如膳绫擎的@Override。
  • CLASS:编译class文件时生效。
  • RUNTIME:运行时才生效。

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

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

@Target

Target标清楚明了注解的实用范围,对应ElementType列举,明白了注解的有效范围。

  • TYPE:类、接口、列举、注解类型。
  • FIELD:类成员(构造办法、办法、成员变量)。
  • METHOD:办法。
  • PARAMETER:参数。
  • CONSTRUCTOR:构造器。
  • LOCAL_VARIABLE:局部变量。
  • ANNOTATION_TYPE:注解。
  • PACKAGE:包声明。
  • TYPE_PARAMETER:类型参数。
  • TYPE_USE:类型应用声明。

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

  1. /** 
  2.   * Nullable注解 
  3.   * bind办法的参数target和返回值Data可认为null 
  4.   */ 
  5.  @Nullable  
  6.  public static Data bind(@Nullable Context target) { 
  7.    //do someThing and return 
  8.    return bindXXX(target); 
  9.  } 

@Inherited

注解所感化的类,在持续时默认无法持续父类的注解。除非注解声清楚明了 @Inherited。同时Inherited声明出来的注,只对类有效,对办法/属性无效。

  1. @Retention(RetentionPolicy.RUNTIME)   
  2. @Inherited   
  3. public @interface AInherited {   
  4.     String value();   
  5. }   
  6. @Retention(RetentionPolicy.RUNTIME)   
  7. public @interface BNotInherited {   
  8.     String value();   
  9. }   
  10.  
  11. @AInherited("Inherited")   
  12. @BNotInherited("没Inherited")   
  13. public class Parent {   
     1/6    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      微软CEO纳德拉访谈:人工智能的大方向与未来是什么?

    人工智能的将来到底应当是什么样的?它应当朝着什么偏向成长?在成长的过程中应当留意什么?这些都是每一个存眷科技成长的人在思虑的问题。比来,O'Reilly Media 开创人兼 CEO Tim O'Reil>>>详细阅读


    本文标题:Android注解快速入门和实用解析

    地址:http://www.17bianji.com/lsqh/37700.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)