从 java 注解分析 ButterKnife 工作流程

622 查看

在我的上一篇文章中,绝对不容错过,ButterKnife使用详谈中,讲解了对ButterKnife的使用。这篇文章将接着一篇文章使用之后,对ButterKnife的工作流程进行概要分析。这里Butterknife分析来自参考自链接How ButterKnife actually works?,并作出部分修改。这里做一个整理和学习。
考虑到ButterKnife的入口使用java注解,比如。

首先这里会对java注解(java annotation)分析,然后面接上Butterknife的工作流程。

1 什么是java注解?

在java语法中,使用@符号作为开头,并在@后面紧跟注解名。被运用于类,接口,方法和字段之上,例如:

这其中@Override就是注解。这个注解的作用也就是告诉编译器,myMethod()方法覆写了父类中的myMethod()方法。

2 java中内置的注解

java中有三个内置的注解:

2.1 @Override 注解

当我们的子类覆写父类中的方法的时候,我们使用这个注解,这一定程度的提高了程序的可读性也避免了维护中的一些问题,比如说,当修改父类方法签名(方法名和参数)的时候,你有很多个子类方法签名也必须修改,否则编译器就会报错,当你的类越来越多的时候,那么这个注解确实会帮上你的忙。如果你没有使用这个注解,那么你就很难追踪到这个问题。
示例:

2.2 @Deprecated注解

一个弃用的元素(类,方法和字段)在java中表示不再重要,它表示了该元素将会被取代或者在将来被删除。
当我们弃用(deprecate)某些元素的时候我们使用这个注解。所以当程序使用该弃用的元素的时候编译器会弹出警告。当然我们也需要在注释中使用@deprecated标签来标示该注解元素。
示例: