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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • datax(10): 源码解读Communication(Datax通讯类)「建议收藏」

    datax(10): 源码解读Communication(Datax通讯类)「建议收藏」前面看了datax的通讯机制,继续看源码—具体的通讯类Communication。根据datax的运行模式的区别,数据的收集会有些区别,这篇文章都是讲的在standalone模式下。一、communication概述DataX所有的统计信息都会保存到Communication类里面。Communication支持下列数据的统计计数器,比如读取的字节速度,写入成功的数据条数/***所有的数值key-value对**/privateMap<String.

    2022年5月17日
    50
  • 关于个人能力提升

    关于个人能力提升

    2020年11月12日
    156
  • ping和tracert都是利用_tracert超时

    ping和tracert都是利用_tracert超时windows中的tracert使用的icmp,linux中使用的traceroute是udp报文和icmp返回(??)windows为例:tracert用法一般直接使用tracerthostname[ip]即可tracertbaidu.comtracert39.156.69.79需要快速完成命令可以不将地址解析成主机名并设置超时时间tracert-d-w200baidu.com第一列是条数,第2-4是每次返回的时延(每个地址会请求三…

    2025年12月7日
    6
  • Repeater嵌套gridview「建议收藏」

    Repeater嵌套gridview「建议收藏」前台:<asp:RepeaterID=”Repeater1″runat=”server”DataSourceID=”SqlDataSource1″OnItemDataBound=”Repeater1_ItemDataBound”><ItemTemplate>id:<%#Eval(“ID”)%>c…

    2022年10月12日
    6
  • 根据经纬度计算距离的公式是什么_经纬度距离计算公式

    根据经纬度计算距离的公式是什么_经纬度距离计算公式privateconstdoubleEARTH_RADIUS=6378.137;privatestaticdoublerad(doubled){returnd*Math.PI/180.0;}publicstaticdoubleGetDistance(doublelat1,doublelng1,doublelat2,doublelng2){do…

    2022年9月24日
    5
  • pycharm使用anaconda环境可以直接导入包吗_anaconda pycharm环境配置

    pycharm使用anaconda环境可以直接导入包吗_anaconda pycharm环境配置PyCharm使用Anaconda环境使用pycharm进行python脚本开发,特别是进行科学计算时,需要引入大量的第三方脚本,此时如果每次都需要去逐一下载,无疑浪费了许多时间。这时可以使用Anaconda来快速的搭建一个开发环境什么是AnacondaAnaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。上图为Anaconda完成安装之后的页面,可以看到右侧已经

    2022年8月29日
    2

发表回复

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

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