java注解:入门(从源码角度)

java注解

卧槽现在全是注解编程了,不学点东西,要被吸血boss,拿搅屎棍打走了,赶紧学一波。

直接撸代码

package com.annotation.chapter1;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
/*
 * RetentionPolicy为java api枚举类,
 * 看其 @Retention源码知道 这个注解有一个属性为RetentionPolicy 它有3个值   SOURCE,CLASS,RUNTIME
 * 
 *  SOURCE:在源码中的注释->Annotations are to be discarded by the compiler
 *  翻译过来说就是:注解将被编译器丢弃
 *  意思就是讲:这个注解的意思是让MyFirstAnntation注解只在java源文件中存在,编译成.class文件后注解就不存在了
 *  这个值几乎很少用到
 *  
 *  CLASS:在源码中的注释->Annotations are to be recorded in the class file by the compiler
 *  but need not be retained by the VM at run time.  This is the default
 *  behavior.
 *  翻译过来说:注解由编译器记录在类文件中,但是不需要在运行时被VM保留。这是默认的行为。
 *  意思就是讲:在编译后的class文件中存在,但是在运行时是不存在的
 *  这个值也是比较少用到的
 *  
 *  RUNTIME:在源码中的注释->Annotations are to be recorded in the class file by the compiler and
 *  retained by the VM at run time, so they may be read reflectively.
 *  翻译过来说:注解由编译器记录在类文件中,并且在jvm中也会被保存的,所以它可以用反射来读取
 *  意思就是讲:在编译后的class文件中存在,但是在运行时是存在的
 *  
 *  由于他只能加在注解类型上,所以网上都叫他元注解,那我们也叫它元注解,好像高大上一点哈哈哈哈。
 */

@Target(ElementType.FIELD)
/*
 * ElementType为java api枚举类,
 *  看其 @Target源码知道 这个注解有一个属性为ElementType
 *  看其源码:特么有8个值吊了,难怪这么注解这么好用,特么哪里都可以用注解
 *  TYPE->可以用在类上面
 *  FIELD->用在字段属性上面
 *  METHOD->用在方法上面
 *  PARAMETER->用在方法参数上
 *  CONSTRUCTOR->用在构造函数上  卧槽吊了
 *  LOCAL_VARIABLE->用在局部变量上 我的天
 *  ANNOTATION_TYPE->用在注解上面
 *  PACKAGE->用在包上面   膜拜
 *  
 *  到这里就知道了这个注解是规定自定义注解的在java文件中的使用范围
 *  
 *  由于他只能加在注解类型上,所以网上都叫他元注解,那我们也叫它元注解,好像高大上一点哈哈哈哈。
 */

@Documented
/**
 *  注解表明这个是由 javadoc记录的,在默认情况下也有类似的记录工具。
 *  如果一个类型声明被注释了文档化,它的注释成为公共API的一部分。
 */
/**
 * @author corget
 *
 */
public @interface MyFirstAnntation {

}
//
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值