butterknife源码分析:谈一谈Java的注解

本文详细介绍了Java注解的概念,包括元注解、自定义注解及其应用。通过分析butterknife的BindView注解,揭示了注解在编译时如何简化代码。同时,通过GenderType注解的例子,展示了如何利用注解提高代码安全性。文章旨在帮助读者深入理解Java注解的工作原理和实际应用。
摘要由CSDN通过智能技术生成

butterknife源码分析系列:
谈一谈Java的注解
http://blog.csdn.net/u012933743/article/details/54909590
如何处理注解—反射与注解处理器
http://blog.csdn.net/u012933743/article/details/54972050
代码分析
http://blog.csdn.net/u012933743/article/details/64437988

我们都听过或者用过butterknife,知道butterknife是一款View注入的框架。如果让你从框架源码的角度去学习它,你会怎么做?

如果是我,我会先在项目中使用butterknife,知道它的使用方法。这样我就知道了butterknife通过注解来实现View的注入,紧接着去学习注解的定义、如何自定义注解。然后我们就有一个疑问:butterknife是如何处理这些注解的,是如何通过注解来简化代码的?带着这个疑问,我们学习到了反射、注解处理器。有了这些基础,我们就可以结合butterknife代码去分析原理。

butterknife学习过程

你们可以看到这种学习方法是循序渐进的,水到而渠成。


定义

说起注解,大家都很熟悉。不管是Java语言本身自带的@Override、@Override,还是热门的第三方框架butterknife的@BindView、retrofit的@Get等、还是SSH开发的@Autowired。

注解我们经常用到,但是我们是否对注解的定义清晰呢?在Wiki上如此定义道:

an annotation is a form of syntactic metadata that can be added to Java source code

即注解的引入,是向Java代码中引入metadata。那什么是metadata呢?

metadata译为元数据,可以理解为数据的数据,即用来描述其他数据的数据。举些栗子,书的作者、文件的大小、图片的颜色,这些都可以理解为元数据。因此Java语言中的metadata就是为了描述代码而使用的元数据。类、方法、变量、包都可以被注解。

注解的形式为@xxxx,Javadoc和注解都会出现这样的形式。

注解

    &
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值