范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Java注解最全详解(超级详细)

  Java注解是一个很重要的知识点,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。
  掌握好Java注解有利于学习框架底层实现。@mikechenJava注解定义
  Java注解又称Java标注,是在 JDK5 时引入的新特性,注解(也被称为元数据)。
  Java注解它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
  Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。Java注解应用
  1.生成文档这是最常见的,也是java 最早提供的注解;
  2.在编译时进行格式检查,如@Override放在方法前,如果你这个方法并不是覆盖了超类方法,则编译时就能检查出;
  3.跟踪代码依赖性,实现替代配置文件功能,比较常见的是spring 2.5 开始的基于注解配置,作用就是减少配置;
  4.在反射的 Class, Method, Field 等函数中,有许多于 Annotation 相关的接口,可以在反射中解析并使用 Annotation。Java注解分类
  1、Java自带的标准注解
  包括@Override、@Deprecated、@SuppressWarnings等,使用这些注解后编译器就会进行检查。2、元注解
  元注解是用于定义注解的注解,包括@Retention、@Target、@Inherited、@Documented、@Repeatable 等。
  元注解也是Java自带的标准注解,只不过用于修饰注解,比较特殊。3、自定义注解
  用户可以根据自己的需求定义注解。Java标准注解
  JDK 中内置了以下注解:
  1.@Override
  如果试图使用 @Override 标记一个实际上并没有覆写父类的方法时,java 编译器会告警。class Parent {   public void test() {   } }   class Child extends Parent  {    /**          *  放开下面的注释,编译时会告警          */        /*   @Override   public void test() {   } */ }2.Deprecated@Deprecated 用于标明被修饰的类或类成员、类方法已经废弃、过时,不建议使用。 @Deprecated class TestClass {   // do something }3.@SuppressWarnings
  @SuppressWarnings 用于关闭对类、方法、成员编译时产生的特定警告。
  1)抑制单类型的警告@SuppressWarnings("unchecked")   public void addItems(String item){     @SuppressWarnings("rawtypes")      List items = new ArrayList();      items.add(item);   }
  2)抑制多类型的警告@SuppressWarnings(value={"unchecked", "rawtypes"})   public void addItems(String item){      List items = new ArrayList();      items.add(item);   }
  3)抑制所有类型的警告@SuppressWarnings("all")   public void addItems(String item){      List items = new ArrayList();      items.add(item);   }
  @SuppressWarnings 注解的常见参数值的简单说明:
  4.@FunctionalInterface
  @FunctionalInterface 用于指示被修饰的接口是函数式接口,在 JDK8 引入。@FunctionalInterfacepublic interface UserService {       void getUser(Long userId);       // 默认方法,可以用多个默认方法     public default void setUser() {     }       // 静态方法     public static void saveUser() {     }          // 覆盖Object中的equals方法     public boolean equals(Object obj);}
  函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。Java元注解
  元注解是java API提供的,是用于修饰注解的注解,通常用在注解的定义上:
  1.@Retention
  @ Retention用来定义该注解在哪一个级别可用,在源代码中(SOURCE)、类文件中(CLASS)或者运行时(RUNTIME)。
  @Retention 源码:@Documented@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Retention {   RetentionPolicy value(); } public enum RetentionPolicy {   //此注解类型的信息只会记录在源文件中,编译时将被编译器丢弃,也就是说   //不会保存在编译好的类信息中   SOURCE,   //编译器将注解记录在类文件中,但不会加载到JVM中。如果一个注解声明没指定范围,则系统   //默认值就是Class   CLASS,   //注解信息会保留在源文件、类文件中,在执行的时也加载到Java的JVM中,因此可以反射性的读取。   RUNTIME }
  RetentionPolicy 是一个枚举类型,它定义了被 @Retention 修饰的注解所支持的保留级别:
  @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) //注解信息只能在源文件中出现 public @interface Override { } @Documented@Retention(RetentionPolicy.RUNTIME)  //注解信息在执行时出现@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) public @interface Deprecated { } @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}) @Retention(RetentionPolicy.SOURCE)  //注解信息在源文件中出现 public @interface SuppressWarnings {   String[] value(); }2.@Documented
  @Documented:生成文档信息的时候保留注解,对类作辅助说明
  @Documented 示例@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Column {     public String name() default "fieldName";     public String setFuncName() default "setField";     public String getFuncName() default "getField";     public boolean defaultDBValue() default false; }3.@Target
  @Target:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)
  @Target源码:@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Target {     ElementType[] value(); }
  ElementType 是一个枚举类型,它定义了被 @Target 修饰的注解可以应用的范围:
  @Inherited:说明子类可以继承父类中的该注解
  表示自动继承注解类型。 如果注解类型声明中存在 @Inherited 元注解,则注解所修饰类的所有子类都将会继承此注解。@Inherited public @interface Greeting {     public enum FontColor{ BULE,RED,GREEN};     String name();     FontColor fontColor() default FontColor.GREEN; }5.@Repeatable
  @Repeatable 表示注解可以重复使用。
  当我们需要重复使用某个注解时,希望利用相同的注解来表现所有的形式时,我们可以借助@Repeatable注解。
  以 Spring @Scheduled 为例:@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Schedules {     Scheduled[] value(); }   @Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Repeatable(Schedules.class) public @interface Scheduled {   // ... }
  如果不满足于文章详解, 私信【架构】获取视频详解!

穆杉伯男探享星途揽月5座版,让户外生活多一些选择当你在钢筋水泥的城市中压抑的太久,会不会因为夜晚天空中一颗流星划过而莫名的感动?5月16日,伴随星途揽月5座探享版上市,星途汽车联手时尚旅游发起探享无界轻奢户外生活方式体验平台,以贝克汉姆长子携妻回家!一手提菜一手牵着老婆,老爸小贝亲自下厨要说还真羡慕贝克汉姆一家人的生活了,本身就是名门望族,如今大儿子布鲁克林还娶上了豪门家族的女儿妮可拉,妮可拉在家族中是最小的女儿,可见受宠的程度,连带着大布也被老丈人宠着。所以说贝同样是寸头照,把杨洋肖战和彭于晏放一起对比,差距就出来了都说寸头是检验颜值的唯一标准,你知道娱乐圈中的哥哥们,剃了寸头会是什么样子吗?不是小编这里大放厥词,有的男星看着人模人样,可剃了寸头还真不好说,不如咱们就来看一看吧!01杨洋文艺兵离婚还是亲人!李小璐贾乃亮和好,佟丽娅陈思诚家庭地位发生转变娱乐圈的明星,离婚都是很洒脱的,他们应该比普通人离婚更加有底气。然而,明星离婚,就会把焦点放在女明星身上,想要扒出女明星脆弱的一面,但是她们也是很果敢,也不是唯唯诺诺,有的甚至比前35岁的程序员年龄天花板薪资倒挂裁员危机今年Java工程师,真是太南了,从年初到现在各大厂一直裁员,这似乎变成为一件顺理成章的事情。大家内心一直困惑,我们兢兢业业,但依旧难以抵御各种危机比如35岁的程序员年龄天花板薪资倒中国移动神州行孝心卡为老人营造一个更安全的通话环境智能手机和5G网络的普及,让越来越多的人接触到了网络,包括一些老年人。比如我的外公外婆,今年虽然都已经70多岁了,但一直保持着一个与时俱进的心态,不仅没有刷抖音快手,偶尔还会用手机那些在闲鱼上犹如隐形人般的黑色产业链揭秘淘宝,听起来是家喻户晓的概念了,曾经被网民誉为万能的淘宝,而现在,阿里巴巴旗下的二手交易平台闲鱼,它又被称作刷新认识的闲鱼。可以说,闲鱼的出现,促进了闲置商品的开发。其实,除了实物河南部分村镇银行高息揽存,储户违法吗?河南村镇银行最新消息银行高息揽存,我们注意其中的两个词高息和揽存。先来先说说高息,那么多少算高息呢,查遍银行法律法规规范文件都没有对此进行量化,但有人说高于同期存款利息的四倍即算高男性衰老的特征男性开始衰老,通常会有四个特征,自测一下,看看你占了几个?1肚子变大男性过了40岁,各项器官功能都会逐渐走下坡路,代谢能力也会每况日下,体内垃圾无法及时排出,堆积下来就会出现大肚腩Kimi久违亮相长高不少!和爸爸同框两人像兄弟,穿卫衣自带时尚范近日,林志颖在社交平台上晒出与儿子一起现身吃大排档的照片,会发现久违亮相的Kimi整个人也是长大不了不少,同框爸爸林志颖两个的个头差不多大。在穿搭上面,两个人则是选择了比较基础的时别再照搬配色公式了,基础色也能穿出高级气质范,不信你瞧立夏后,很多人都喜欢用靓丽艳丽的色彩装点自己,比如枚红色橘黄色翠绿色法式蓝等等,这是个不错的穿衣思路,靓丽的色彩,不但能够提升整体造型的吸睛效果,还显肤白。但是,艳丽的色彩在配色方
貂蝉火灵皮肤确认,两大限免活动来袭,限定皮肤免费用,婉儿笑了爱生活,爱游戏,大家好,我是阿呆。期待大家的关注,我会在这里分享更多有趣的最新资讯。前言最近,王者荣耀上线了一些活动,首先就是貂蝉新皮肤的投票活动,虽然没什么奖励,但是大家也可以知美白有3法,睡前一小时,是养肤黄金期,有宜有忌白净皮肤每个女性都渴望拥有白皙细腻的好皮肤,都不想在自己的脸上看到斑点或者暗沉,但是能够真正通过行动收获白皙好皮肤的人却很少,主要原因是很多人没有找对方法,护肤的时候不管不管,甚至草草了事花木兰稀有皮肤青春决赛季或将在2022年年初返场要说花木兰的哪款限定皮肤返场呼声最高?那必然是青春决赛季!这款皮肤自2018年三月上线,目前已经过去三年了,到明年三月份的话,就已经是四年了!四年了,你知道这四年等待这款皮肤的花木备份陈冠希电脑里1400张照片,传到网上的电脑修理员,下场如何?提起火极一时的艳照门事件,想必大家都不陌生,当时是陈冠希大展拳脚的丰收之年,但这一切都随着那些不雅照片被曝光,化为了乌有,遭到了全网封杀。而当时处于人生巅峰的张柏芝也受牵连,与谢霆人类肌细胞被发射到太空以探索衰老的秘密为研究人类如何能够健康长寿,科研人员启动了一项名为MicroAge的科研项目,并于周二将人类肌细胞通过SpaceX公司的猎鹰9号火箭,从佛罗里达州的肯尼迪航天中心发射到国际空间站。无视明文规定?阿里云未及时上报重大安全漏洞,被工信部通报重罚工信部明文规定,不知道阿里云是忽略了还是无视掉了,在发现重大漏洞后未按照明确要求上报给上级主管部门,直接报给了外国开源组织基金会,就没有然后了,半个月后,行业组织公布了安全报告,我王力宏夫妇终陌路,圈内恩爱夫妻还得看这10对,低调甜蜜羡煞旁人(原创不易抄袭必究全网维权)娱乐圈的瓜,到了年底就很大。最近网友们在几个瓜之间上下移动,除了热搜爆了又爆的薇娅事件之外,话题度最高的就是王力宏了,李靓蕾长文诉说了这么多年来的的遭遇能让央行连夜报警的2万亿,究竟有多沉?今天邮币圈里最大的新闻,不是处于兑换期的冬奥钞,也不是处于摇号期的福银,更不是某套即将增发邮票。而是一则网络谣言,让央行连夜报警。那么涉及的金额,究竟会有多少呢?12月22日,中国高房价副作用显现,大量断供房出现?银行工作人员透了个底据报道,网传高房价副作用开始显现,大量断供房出现,引发群众高度重视。对此,银行工作人员透了个底,受疫情影响,断供情况确实有上升趋势。不过,整体较为稳定,没有网传的那么糟糕。房产是中雷军野心很大,12512G又降500!意图抢占更多高端市场在华为因为禁令问题不能发布5G旗舰之后,很多想要买一款高端国产旗舰的用户一般都把眼光放在了小米旗舰身上,因为现在小米数字旗舰和MIX系列旗舰确实有比较高的水准,毕竟小米和华为曾是两华为智能眼镜已在花粉俱乐部开板华为智能眼镜自12月份曝光以来,已经获得很大的关注量。之前曾有报道称本次新品将会支持镜面显示,但从今天的开板位置来看,这纯属谣言花粉俱乐部中华为智能眼镜的开板位置从图中可以看到,这