实现基于注解(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;
}

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

总结

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值