java 编程基础:注解的功能和作用,自定义注解
1,什么是注解:
2,Java5的常用的基本注解:
(1),重写父类方法注解@Override:
(2),标记过时@Deprecated:
- forRemoval: boolean 类型的属性指定该API在将来是否会被删除
- since: String 类型的属性指定该API从哪个版本被标记为过时
(3),取消告警@SuppressWanings:
(4),函数式接口@FunctionalInterface
自定义注解
元注解
1,@Retention
- RetentionPolicy.CLASS: 编译器将把注解记录在class文件中,当运行Java程序时JVM不可获取注解信息。这是默认值
- RetentionPolicy.RUNTIM: 编译器将把注解记录在class文件中,当运行 Java程序时JVM可获取注解信息,程序可以通过反射获取该注解信息
- RetentionPolicy.SOURCE: 注解只保留在源代码中,编译器直接丢弃这种注解
2,@Target
- ElementType.ANNOTATION_TYPE: 指定该策略的注解只能修饰注解。
- ElementType.CONSTRUCTOR: 定该策略的注解只能修饰构造器。
- ElementType.FIELD: 指定该策略的注解只能修饰成员变量。
- ElementType.LOCAL_VARIABLE: 定该策略的注解只能修饰局部变量
- ElementType.METHOD: 指定该策略的注解只能修饰方法定义。
- ElementType.PACKAGE: 指定该策略的注解只能修饰包定义。
- ElementType.PARAMETER: 指定该策略注解可修饰参数
- ElementType.TYPE: 定该策略的注解可以修饰类、接口(包括注解类型)或枚举定义
3,@Documented
4,@Inherited
public @interface MyAnnotation { }
@MyAnnotation public class MyClass { }
package com.zmd.myAnnotation;
public @interface MyAnnotation {
String name();
int age() ;
}
package com.zmd.myAnnotation; @MyAnnotation(name = "hehe",age = 1)
public class MyClass {
}
package com.zmd.myAnnotation;
public @interface MyAnnotation {
String name() default "zmd";
int age() default 22;
}
java 编程基础:注解的功能和作用,自定义注解的更多相关文章
- Java入门——(1)Java编程基础
Java入门--(1)Java编程基础 第二章 Java编程基础 JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 } 2.1关键字:赋予了特殊含义的单词. 2.2标识符: ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- Java开发知识之Java编程基础
Java开发知识之Java编程基础 一丶Java的基础语法 每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外. Java程序的语法规范就是 Ja ...
- Java编程基础-面向对象(中)
本章承接Java编程基础-面向对象(上)一文. 一.static关键字 在java中,定义了一个static关键字,它用于修饰类的成员,如成员变量.成员方法以及代码块等,被static修饰的成员具备一 ...
- Java编程基础——流程控制
Java编程基础——流程控制 摘要:本文主要介绍Java编程中的流程控制语句. 分类 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下三种: 顺序结构:从上到下依次执行每条语句操作 ...
- java编程基础二进制
0.java编程基础 01.二进制(原码,反码,补码) 02.位运算 03.移位运算符 二进制 原码,反码,补码 1.基本概念 二进制是逢2进位的进位制,0,1是基本算符. 现在的电子计算机技术全部使 ...
- Java编程基础——数组和二维数组
Java编程基础——数组和二维数组 摘要:本文主要对数组和二维数组进行简要介绍. 数组 定义 数组可以理解成保存一组数的容器,而变量可以理解为保存一个数的容器. 数组是一种引用类型,用于保存一组相同类 ...
- Java编程基础——运算符和进制
Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...
- Java编程基础——常量变量和数据类型
Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
- Java编程基础——标识符和关键字
Java编程基础——标识符和关键字 摘要:本文主要介绍标识符和关键字. 标识符 是什么 Java语言中,为各种变量.方法.类和包等起的名字,统统称之为Java标识符. 命名规则 ◆ 应以字母.下划线. ...
随机推荐
- 【Tool】IntelliJ IDEA 使用技巧
IntelliJ IDEA 使用技巧 2019-11-06 20:51:43 by冲冲 1.快捷键 Ctrl+w //括出相关范围 Ctrl+shift+f //按照代码段在全局搜索 Ctrl+f ...
- 多线程07.thread-join
package com.wangwenjun.concurrency.chapter5; public class ThreadJoin3 { public static void main(Stri ...
- html+css第七篇-表格
表格标签: table 表格 thead 表格头 tbody 表格主体 tfoot 表格尾 tr 表格行 th 元素定义表头 td 元素定义表格单元 表格样式重置 table{border-colla ...
- Ubuntu怎么修改DNS
有时候会出现配置好网络之后,可以ping通网关却ping不通www.baidu.com orangepi@orangepi3:~$ ping 192.168.1.1 PING 192.168.1.1 ...
- Gin 如何动态生成模型 swagger 文档
在做 API 接口开发时, 一般会统一 API 返回格式, 例如 { "code": 200, "data": { //xxxxx //xxxxx }, &qu ...
- 【机器学习与R语言】5-规则学习算法
目录 1.分类规则原理 1.1 1R单规则算法 1.2 RIPPER算法 2. 规则学习应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估性能 5)提高性能 6)选择决策树中的分类规则 ...
- 基因组Denovo组装原理、软件、策略及实施
目录 1. 组装算法 1)基于OLC算法 2)基于DBG算法 3)OLC vs DBG 2. 组装软件 3. 组装策略 4. 组装项目实施 1)测序前的准备 2) 测序样品准备 3)测序策略的选择 4 ...
- 如何使用csapp文件
深入理解操作系统中有个csapp.h的头文件 以下来介绍下如何使用它: 该头文件下载地址为http://download.csdn.net/detail/tzasd89812/4206284 在Ubu ...
- sqlalchemy模块的基本使用
Python中SQLAlchemy模块通过建立orm来对数据库进行操作 1. 建表 方式1 # -*- coding:utf-8 -*- # Author:Wong Du from sqlalchem ...
- 63.不同路径II
目录 63.不同路径Ⅱ 题目 题解 63.不同路径Ⅱ 题目 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动 ...