java注解

一.为什么要使用注解

1.方便看开源的框架。因为很多框架上都使用了注解。

2.方便简化代码,让自己也能写出方便的框架,这是成为架构师的基础。

二、注解的定义和使用

1.注解的定义:是JDK1.5引入的一种注释机制,对注解后的代码操作没有直接影响。

2.注解的使用:

     只有注解定义好后方可以使用,可以同等理解调用java类方法相似。所以要先定义后使用。

  1)注解基本定义

@Target(ElementType.TYPE)           //此处表示元注解将用于类上,当然也可配置方法,属性中。
@Retention(RetentionPolicy.SOURCE)  //此处表示元iukj注解会保留在源码阶段上,当然也可配置为class,runtime时
public @interface Lance {
    String value();
}

说明:

  ElementType 取值有:

             1.CONSTRUCTOR:用于描述构造器
    2.FIELD:用于描述域
    3.LOCAL_VARIABLE:用于描述局部变量
    4.METHOD:用于描述方法
    5.PACKAGE:用于描述包
    6.PARAMETER:用于描述参数
    7.TYPE:用于描述类、接口(包括注解类型) 或enum声明

 

  RetentionPolicy 取值有:
    1.SOURCE:注解保留源码阶段
    3.CLASS:注解保留编译后CLASS文件
    4.RUNTIME:注解保留运行时状态
   

  2)注解基本使用

     

@Lance("main类")
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
} 
3)小知识点:
  注解的应用场景:

 

级别技术说明
源码APT,语法检查(比如录入参数提示)在编译器能够获取注解与注解声明的类包括类中所有成员信息,一般用于生成额外的辅助类
字节码字节码增强在编译出Class类后,通过修改Class数据以实现修改代码逻辑目的。对于是否需要修改的区分或者要修改为不同逻辑的判断可以使用注解
运行时反射在程序运行期间,通过反射技术动态获取注解与其元素,从而完成不同的逻辑判定。

  

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值