实现基于注解(Annotation)的数据库框架(二)注解(Annotation)的基本了解

前言#

这一篇来浅谈一下注解(Annotation),为之后的注解的学习打下一个良好的印象,消除对注解的恐惧。

正文#

首先推荐一个博客的连接http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html,这篇博客对基础概念将的非常的好,我希望你先看完这篇博客,再继续往下看。

看完了这么大篇幅的概念,我肯定是要懵逼了,有一种似懂非懂不可言传的感觉。自己总结一下:

注解就是某一种符号,这种符号有特殊的意义,在不同时期可以帮助我们做一些重要的操作,例如代码检查,代码提示等等。他可以标记类,属性,方法,并且可以设置标记的值,方便我们进行必要的判断。

例如推荐的博客中有提到三个非常常见的系统内置注解:

@Override:用于修饰此方法覆盖了父类的方法,如果父类并没有此方法,报错
@Deprecated:用于修饰已经过时的方法,说明这个方法已经不推荐使用了。
@SuppressWarnnings:用于通知java编译器禁止特定的编译警告,例如强制转换提醒,Handler的警告提醒。

这三个是系统提供的注解,在我们编译时可以帮助我们进行代码检查,方便我们提前发现错误。

除了刚才的三个,在最新的sdk中还有:

@Nullable注解能被用来标注给定的参数或者返回值可以为null。
@NonNull注解能被用来标注给定的参数或者返回值不能为null。
@AnimRes 注解参数类型为anim资源

从@AnimRes就可以推断中,肯定还会有各种基本类型(Integer,Long , Short,Float等等),字符串,图片等各种价差的类型,这里不多废话了,有兴趣自己亲自去看一看。

下面贴个代码片段,看看他们是怎么使用的:

/**
*  这里对 int型参数res进行注解检查,参数只能是anim资源
* 
*  这里对返回值进行了注解,返回值可以为null
*/
private @Nullable BaseReflect setAnim(@AnimRes int res){
    return null;
}

/**
*  这里对 int型参数res进行注解检查,参数只能是String资源
* 
*  这里对返回值进行了注解,返回值不可以为null,编辑器右侧会出现黄色警告,提示这个返回值不能为null
*/
private @NonNull BaseReflect setAnim(@StringRes int res){
    return null;
}

果然注解十分的强大,就系统的内置注解就够我们平时装逼一阵了,一个单词就完成了复杂的检查工作。

总结#

看完了复杂概念,再经过小小的举例,我们已经对注解有了最基本的了解,对于系统的内置注解,也可以熟练的使用,我们的最终目标就是要自定义注解,有了美好的开始,之后就变得简单。

下一篇来感受一下如何自定义注解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容