广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java基础之注解示例详解
  • 157
分享到

java基础之注解示例详解

2024-04-02 19:04:59 157人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录定义作用注解与注释的区别jdk内置的标准注解自定义注解@Target属性定义 注解也叫原数据,它是JDK1.5及之后版本引入的一个特性,它可以声明在类、方法、变量等前面,用来对这

定义

注解也叫原数据,它是JDK1.5及之后版本引入的一个特性,它可以声明在类、方法、变量等前面,用来对这些元素进行说明。

作用

生成文档:通过代码里标识的注解生成doc文档【生成doc文档】

代码分析:通过代码里标识的注解对代码进行分析【反射

编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】

注解与注释的区别

注解是给编译器看的,注释是给程序员看的。

JDK内置的标准注解

@Override

表示该方法是覆盖父类的,如果某个方法父类中并没有,且该方法使用了@Override,则会报错

@Deprecated

表示该方法已经过时,但还是可以用

@SuppressWarnings

压制警告

一般用在类的前面,传递参数"all",表示压制该类的所有警告

这是父类代码


public class Fu {
    public void eat(){
        System.out.println("Fu 吃......");
    }
}

这是子类代码


@SuppressWarnings("all")//压制该类下的所有警告
public class Zi extends Fu{

    @Override			//表示该方法是重写父类的
    public void eat(){
        System.out.println("Zi eat......");
    }
    @Deprecated			//表示该方法已经过时
    public void work(){				

    }
}

下面是主类

在这里插入图片描述

自定义注解

格式:

​ 元注解

​ public @interface 注解名称{

​ 属性列表

​ }

注解本质其实上是一个接口,该接口默认继承Annotation接口

public interface 注解名称extends java.lang.annotation.Annotation {}

元注解

注解的注解就是元注解

下面是@Override注解的源码,我们可以看到在@Override的前面还有一些注解,下面我们来介绍一下这些注解

在这里插入图片描述

我们需要掌握5种元注解:

@Target

指明了注解可以在哪里使用

参数ElementType取值

​ TYPE:指明注解可以使用在类上

​ METHOD:指明注解可以使用在方法上

​ FIELD:指明注解可以使用在成员变量上


@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})	//当{}里面的内容只有一个时,{}可以省略
public @interface PersonWrite {
        int age();
        String name() default "22";
}

@Retention()

指明注解被保留的阶段:

注解保留到源代码阶段


@Retention(RetentionPolicy.SOURCE)   

注解保留到编译阶段


@Retention(RetentionPolicy.CLASS)

注解1保留到运行阶段


@Retention(RetentionPolicy.RUNTIME)

@Documented

标识注解被抽取到doc文档中

@Inherited

标识注解被子类继承

属性

注解中的属性其实是抽象方法

属性的返回类型只能是下面几种类型:

基本数据类型

String

枚举

注解

以上类型的数组

如果注解里面定义了属性(接口),在使用时要给属性赋值

如果定义属性时使用default给属性赋值,则在使用注解时可以不给该属性赋值(当然也可以重新赋值)如果注解只有一个,且注解的名称是value,则使用时传参直接写参数即可,不用写属性名数组赋值时,使用{}包裹,如果数组中只有一个值,则{}可以省略

下面是自定义的注解:


@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface PersonWrite {
        int age();
        String name() default "李四";
}

下面是该注解的使用:


package Java高级特性.注解;

@PersonWrite(age = 222)
public class Main {

    public static void main(String[] args) {
        Zi zi = new Zi();
        zi.work();
    }
}

到此这篇关于Java基础之注解示例详解的文章就介绍到这了,更多相关java注解内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java基础之注解示例详解

本文链接: https://www.lsjlt.com/news/160966.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java基础之注解示例详解
    目录定义作用注解与注释的区别JDK内置的标准注解自定义注解@Target属性定义 注解也叫原数据,它是JDK1.5及之后版本引入的一个特性,它可以声明在类、方法、变量等前面,用来对这...
    99+
    2022-11-12
  • Java基础元注解基本原理示例详解
    目录元注解@DocumentedIDEA Documented 文档生成@Target@Retention@Inherited示例@Repeatable示例@Native元注解 是...
    99+
    2023-01-17
    Java 元注解 Java 基础原理
  • java基础之注解
    1、元注解1 @Target【作用】用于指定所标注的注解可以使用的位置,例如:@Target(ElementType.METHOD):表示可以使用在方法上,其他结构不能使用;@Target({ElementType.METHOD, Elem...
    99+
    2020-09-10
    java入门 java 注解
  • Java基础篇之反射机制示例详解
    目录一、什么是反射:二、反射的原理:三、反射的优缺点:四、反射的用途:五、反射机制常用的类:六、反射的基本使用:1、获得Class:主要有三种方法:2、判断是否为某个类的示例:3、创...
    99+
    2022-11-12
  • Java基础知识之注解、元注解
    目录注解注解作用Java预定义的注解自定义注解元注解实例:注解使用总结总结注解 Java注解也称Java标注,是jdk1.5(5.0)后的新特征。Java语言中的类、方法、变量、参数...
    99+
    2022-11-13
  • Java基础之Maven详解
    目录一、Maven环境的搭建1. 为什么要学习Maven?2. Maven项目架构管理工具3. 下载安装Maven4. 配置环境变量5. 阿里云...
    99+
    2022-11-12
  • Java基础之StringBuffer详解
    目录一、前言二、用法三、结果四、长度 容量五、IStringBuffer接口六、value和capacity一、前言 StringBuffer是可变长的字符串 1.append 追加...
    99+
    2022-11-12
  • Java基础之ClassLoader详解
    目录一、ClassLoader简介二、内置的CLassLoader的类型三、BootstrapClassLoader四、ExtClassLoader五、AppClassLoader六...
    99+
    2022-11-12
  • Java基础之FastJson详解
    目录一、fastJson将json格式字符串转化成List集合二、fastJson将json格式字符串转化成对象三、FastJson将对象或集合转化成json格式字符串四、FastJ...
    99+
    2022-11-12
  • Java基础之TreeMap详解
    目录一、写在前面二、定义三、成员变量四、内部类五、构造器六、成员方法一、写在前面 TreeMap的底层数据结构是红黑树,且TreeMap可以实现集合元素的排序。 所以TreeMap...
    99+
    2022-11-12
  • Java 基础 - 注解机制详解
    注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它是框架学习和设计者必须掌握的基础。@pdaiJava 基础 - 注解机制详解注解基础Java内置注解内置注解 - @Ov...
    99+
    2022-12-02
    java框架 java全栈 java学习路线 java全栈知识 java面试 知识体系 java技术体系 java编程
  • Java基础之枚举Enum类案例详解
    目录一、文章序言二、代码实践三、面试相关一、文章序言 Java中引用类型:数组、类、接口、枚举、注解 枚举这个既熟悉又陌生的东西具体再哪里可以使用呢? 什么是枚举? 枚举是一个引用...
    99+
    2022-11-12
  • Java 基础之内部类详解及实例
     Java 基础之内部类详解及实例内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,...
    99+
    2023-05-31
    java 内部类 ava
  • java基础之方法详解
    目录一、什么是方法二、方法的定义三、方法的调用四、方法的重载五、递归一、什么是方法 Java方法是语句的集合,他们在一起执行一个功能。 1.方法是解决一类问题的步骤的有序...
    99+
    2022-11-12
  • Java基础之数组详解
    目录前言二.创建数组三.数组的使用四.数组的遍历五.数组作为方法的参数六.数组相关方法Arrays前言 我们了解数组这个概念之前,我们先思考下面几个问题。 如果我们需要两个数据,那么...
    99+
    2022-11-12
  • Java基础之Object类详解
    object类的介绍 object是所有类的直接父类或者是间接父类,为什么这么说呢? 可以查询java8的API帮助文档: 可见在这样的一个类树中,所有的类的根还是Object类 ...
    99+
    2022-11-12
  • 详解Java基础之封装
    目录Java基础知识(封装)封装封装的目的 封装的好处封装的步骤封装的例子总结Java基础知识(封装) 封装 那封装是什么呢? 在面向对象程式设计方法中,封装(英语:Enc...
    99+
    2022-11-13
  • Java基础之反射详解
    目录前言一、一个需求引出反射二、反射入门三、反射原理图四、反射相关类五、反射调用优化前言 反射是我们框架的灵魂,反射也是我们框架的一个底层基石,没有反射也就没有框架,如果我们学好了反...
    99+
    2022-11-12
  • JavaNIO通信基础示例详解
    目录Java NIO 通信基础介绍NIO 和 OIO 的对比使用 FileChannel 完成文件复制的实践案例使用 DatagramChannel 数据包通道发送数据的实践案例使用...
    99+
    2022-12-26
    Java NIO通信基础 Java NIO
  • Go语言基础学习之map的示例详解
    目录Mapmap定义map基本使用判断某个键是否存在map的遍历使用delete()函数删除键值对按照指定顺序遍历map元素为map类型的切片值为切片类型的mapMap实现原理什么是...
    99+
    2023-05-14
    Golang map原理 Golang map实现 Golang map
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作