问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java代码中前面带@是什么意思

发布网友 发布时间:2022-05-24 12:35

我来回答

3个回答

热心网友 时间:2023-10-13 12:35

这是一个Annotation
Annotation接口的实现类: Documented, Inherited, Retention, Target 都是用来定义自己定义的Annotation类的。

1. 注解(Annotation)类,以@interface 修饰 ,不能显示(explicit)extends或implements任何类

如:

java 代码
public @interface DefineAnnotation {
}

这种没有任何属性的Annotation类,也叫标识Annotation

2. 定义属性

java 代码
//属性必须加个小括号
public String value() ;
//有默认值的属性
public String value() default "aaa";

完整定义如下:

java 代码
//注解Annotation类不能显示(explicit)extends或implements任何类
//不定义任何属性就叫maket annotation
public @interface DefineAnnotation {

//定义一个属性,有属性的话,必须赋值,除非有默认default
public String value() default "aaa";

}

3.使用Annotation,有默认值的可以不用传参数,也可以传递参数。没有默认值的,必须传递参数。

如:

java 代码
public class TestAnnotation {

// @DefineAnnotation 有默认值的第一种使用方式
// @DefineAnnotation() 有默认值的第二种使用方式
@DefineAnnotation("ttitfly")
public void say(){
System.out.println("say hello");
}
public static void main(String[] args){
TestAnnotation ta = new TestAnnotation();
ta.say();
}
}

4. Retention (保存)

所有的Annotation类都实现了Annotation接口
@Retention本身就是个Annotation(注解)类
它的值是个enum枚举类型的RetentionPolicy,该枚举类型RetentionPolicy有三个值RUNTIME (会被JVM加载,并可以通过反射来获得到Annotation类的信息) ,CLASS (不会被JVM加载),Source
@Retention的值标识自己定义的Annotation(注解)类 是属于哪种保存策略,将来哪个类如果使用了这个自定义的注解类,将会使用这种保存策略

如:

java 代码
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//所有的Annotation类都实现了Annotation接口
//@Retention本身就是个Annotation(注解)类
//它的值是个enum枚举类型的RetentionPolicy,该枚举类型RetentionPolicy有三个值RUNTIME (会被JVM加载,并可以通过反射来获得到Annotation类的信息) ,CLASS (不会被JVM加载),Source
//@Retention的值标识自己定义的Annotation(注解)类 是属于哪种保存策略,将来哪个类如果使用了这个自定义的注解类,将会使用这种保存策略
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {

String hello() default "ttitfly";
String world();
}

java 代码
//使用自己定义的Annotation类
public class MyTest {
//一个方法可以有多个注解类
@Deprecated
@MyAnnotation(hello="china",world="earth")
public void say(){
System.out.println("say hello");
}

}

java 代码
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

热心网友 时间:2023-10-13 12:35

这个是JDK1.5加入的新特性,annotation(泛型)

热心网友 时间:2023-10-13 12:36

注解 ,从这个注解看,应该是spring的@service(创建对象)@Autowired(自动装配)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
热喷涂是怎么样加热喷涂材料? 大额存款有什么优惠 过年银行存钱什么优惠 银行大额存款有什么优惠 到银行存钱有什么送 冰柜加了制冷剂不制冷的原因 冰柜用多久需加制冷剂 冰柜何时需加制冷剂 冰柜多久需要加制冷剂 冰柜何时需要添加制冷剂 摩托驾照d和e区别 vivox3的超长截图是什么软件 java用Data类不带参数的构造方法创建日期,要求日期的输出格式是:星期,小时,分,秒 游戏上骂人的符号咋打 佐拉奴属于什么档次 关于飞车游戏里利用网名骂人如何处理? 我玩游戏看到有个人网名叫做 傻批妈出轨爸,这网名是啥意思?是不是在骂人啊?出轨是啥意思? 跪求iphone4的一个骂人游戏的名字 帮我想一个骂人的战队名字 用java 读文件,如何从某一字符串开始读 java怎么实现将数据写入@data部分 一个游戏名字 两个字 后面那个字是子,大家给个建议儿子 孙子等等骂人的不行 正反都能骂人的游戏名字 煜字取名忌讳煜字取名忌讳有什么 用matlab对一个IMG文件(256*256图片)低四位置零或高四位置零,源代码,谢谢! 怎么获得QQ源代码 求MATLAB里imread这个函数的源代码 如何得到Miranda IM的最新源码 有关IM蠕虫病毒的发展情况 matlab求imclose()的源代码,没装matlab,帮忙在.m文件里查一下,谢谢~~ 怎么看到网页源代码 参与上海车牌拍牌需要哪些资格? 请教一下,这几款机车都是什么车型,另外能不能推荐几款类似的? CAFE LA MILLE怎么样 身高180,预算两万,是不是只能选ADV? JAVA 语句求解,搞懂了追分 Data(int i,int j,int k)、Date()、Date(Date d)三个构造方法在主程序的作用 这是什么复古摩托车?现在复古摩托车多少价位? 圆盘接近开关是什么型号? 意式浓缩咖啡的英文是什么? Java中DataInputStream的用法 衣服搭配,求高手搭配一下这个连衣裙,配什么颜色鞋子?(请讲明您是男生还是女生哦) 冒顿统一蒙古草原时间:___人物:___经济发展:__ 闪电fulcrum racing s-19 light轮组怎么样 SCAR-Light哪国的 “按动开关”是指按下去放手后就弹起(断开)的还是不弹起,然后一定条件下才弹起? light是可数名词吗 they must be at home -there's light _____ in the bedroom A to shine B to be shining C shining LOL进MSI四强就能进总决赛吗的最新相关信息 封了被*登录有没有破解*登录的请求大家帮忙解决一下 按进去就弹不出来(锁住),再按一下就重新弹出来,这是一种什么原理的开关,有谁能告诉我,十分感谢。。。 m16-s scar-light m16a4哪个好用? 求专业解答,非诚勿扰。 松下电视 开关 就是按键按进去开,再按下弹出那种开关。