Java学习之注解篇

Java学习之注解篇0x00前言续上篇文章,这篇文章就来写一下注解的相关内容。0x01注解概述Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制。和J

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Java学习之注解篇

0x00 前言

续上篇文章,这篇文章就来写一下注解的相关内容。

0x01 注解概述

Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制。
和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。 Java虚拟机可以保留注释内容,在运行时可以获取到注释内容。当然它也支持自定义Java注释。

它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

作用分类:
①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】
② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】
③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】

0x02 注解定义

jdk自带注解

* @Override	:检测被该注解标注的方法是否是继承自父类(接口)的
	* @Deprecated:该注解标注的内容,表示已过时
	* @SuppressWarnings:压制警告

Deprecated注解:

@Deprecated
    public void method1(){
        System.out.println("a");
    }

被该注解修饰过后代表该方法已过时,调用时候会出现一条横线。

字定义注解

格式:

		元注解
		public @interface 注解名称{
			属性列表;
		}

注解本质上就是一个接口,该接口默认继承Annotation接口。注解里面可以定义抽象方法。

MyAnoin:

package Domain;

public @interface MyAnoin {
    int age();
    String name() default "zhangshan"; //默认值为zhangshan
    String[] strs();     //数组

}

shu:

package Domain;
@MyAnoin(age = 1,name = "lishi",strs={"abc","ii"})
public class zhu {

}

0x03 结尾

这篇文章内容并不多,本来应该是和上篇文章放一起的,想想还是分离开来的好。到时候也方便查找。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119945.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android textwatcher 获取当前控件,android api解析之TextWatcher

    开发android有几年了,但是从来没有整理过,一直是写写写.从今天起开始慢慢整理,总结之处如有错误请指出,谢谢TextWatcher在什么时候会被调用?TextWatcher在edittext内容发生变化时会被调用TextWatcher一共有三个方法beforeTextChanged(CharSequences,intstart,intcount,intafter)在文本变化前调用…

    2022年4月7日
    63
  • spring任务调度scheduled_golang 任务调度

    spring任务调度scheduled_golang 任务调度1、任务调度接口TaskScheduler提供了多种方法来调度将来某个时间点要运行的任务。2、触发器Trigger实现PeriodicTrigger和CronTrigger。3、@Scheduled注解创建定时任务4、@Async注解异步方法执行,value属性指定任务执行器。5、task:scheduler、task:executor创建调度器和执行器…

    2022年10月11日
    3
  • 实战 | SpringBoot微信点餐系统(附源码)[通俗易懂]

    实战 | SpringBoot微信点餐系统(附源码)[通俗易懂]点击上方“java进阶架构师”,选择右上角“置顶公众号”20大进阶架构专题每日送达架构前后端分离:补充:setting.xml文件的作用:settings.xml是ma…

    2022年4月19日
    188
  • 【强化学习纲要】8 模仿学习「建议收藏」

    【强化学习纲要】8 模仿学习「建议收藏」【强化学习纲要】8模仿学习8.1模仿学习概要8.2BehavioralcloningandDAGGER8.3InverseRLandGAIL8.4进一步改进模仿学习的模型8.5模仿学习和强化学习结合8.6Casestudies周博磊《强化学习纲要》学习笔记课程资料参见:https://github.com/zhoubolei/introRL.教材:SuttonandBarton《ReinforcementLearning:AnIntroduction》8.1

    2022年9月19日
    2
  • 手把手教你opencv做人脸识别(附源码+文档)

    手把手教你opencv做人脸识别(附源码+文档)文章目录一、环境二、使用Haar级联进行人脸检测三、Haar级联结合摄像头四、使用SSD的人脸检测五、SSD结合摄像头人脸检测六、结语一、环境pipinstallopencv-pythonpython3.9pycharm2020人狠话不多,直接上代码,注释在代码里面,不说废话。二、使用Haar级联进行人脸检测测试案例:代码:(记得自己到下载地址下载对应的xml)#coding=gbk”””作者:川川@时间:2021/9/516:38https://github.

    2022年6月8日
    53
  • 软件项目版本命名规范

    软件项目版本命名规范

    2021年5月11日
    115

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号