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


相关推荐

  • asp.net response.ContentType 下载文件的四种方法「建议收藏」

    asp.net response.ContentType 下载文件的四种方法「建议收藏」原址:http://www.cnblogs.com/xtgyiq/archive/2009/07/06/1517415.htmlprotectedvoidButton1_Click(objectsender,EventArgse)   { 1 protected void Button1_Click(object sender, Even

    2022年7月19日
    13
  • vb.net python哪个好_VS VB

    vb.net python哪个好_VS VBPublicClassForm1   PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load       get_CPU_info()       get_net_info()       get_op_info()       get

    2022年9月27日
    0
  • ProgressDialog不显示

    ProgressDialog不显示一般用ProgressDialog来提示用户等待耗时操作,如图中代码块IsVideoQualityWithFace();如果不在单独线程中执行的话,ProgressDialog将不会显示 AlertDialog.Builderbuilder=newAlertDialog.Builder(context); builder.setTitle(“提示”) .setMessage

    2022年7月14日
    39
  • cubieboard boot过程

    cubieboard boot过程A10的启动过程大概可分为5步:BootRom,SPL,Uboot,Kernel,RootFileSystem。本文只关注镜像的加载过程,分析RootRom->SPL->Uboot的启动流程。系统上电后,ARM处理器在复位时从地址0x000000开始执行指令,把板上ROM或Flash映射到这一地址。A10将启动设备选择程序固化在CPU内部的一个32KBROM中,默认的启动时序为SD

    2022年7月22日
    9
  • Mybatis事务隔离级别「建议收藏」

    Mybatis事务隔离级别「建议收藏」转载:https://blog.csdn.net/qq924862077/article/details/52599961一般数据库的隔离级别有4个,由低到高依次为Readuncommitted、Readcommitted、Repeatableread、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√:可能出现    ×:不会出现脏读不可重复读幻读说明…

    2022年10月14日
    0
  • splice方法最详细最全面的解释!!!

    splice方法最详细最全面的解释!!!文章目录前言一、splice方法官方文档节选二、根据文档测试方法一:方法二:方法三:方法四:总结前言在学前端的时候一直对splice方法不太清楚,今天特意总结了一下!一、splice方法官方文档节选查阅了splice方法的示例文档,如下:(不想看论述的,可以直接跳到下面看总结!)splice返回值:Array所属对象:ArrayTheelementstoaddtothearray.Ifyoudon’tspecifyanyelements,splice

    2022年9月24日
    0

发表回复

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

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