Fork me on GitHub

java学习----注解

目录

  1.注解与注释

  2.注解的组成部分

  3.基本注解

  4.自定义注解

一、注解与注释

  注释:用于在源代码中解释代码的功用,可以增强程序的可读性,可维护性,或者用于在源代码中处理不需运行的代码段,来调试程序的功能执行。

  注解:对于包、类、属性、方法辅助说明作用,注解的添加不会影响java程序的执行,java中注解是能够被计算机编译的,能参与到程序的运行中。

  它们的区别显而易见,注释只是解释说明,不算做源代码,注解则算作源代码。

 

二、注解的组成部分

  注解由一下部分组成

  1.修饰符-----    public默认(不写就是默认)

  2.@interface     ------用来声明注解的

  3.参数类型-----  8种基本数据类型String Class以及他们的数组 枚举

  4.默认值----  default可有可无

 

三、基本注解

  1.常见注解

    1、@Override表示子类重写父类的方法

    2、@Deprecated表示已过时

    3、@SuppressWarnings消除警告
    4、@FunctionalInterface java8新特性,保证一个
    接口中只能声明一个方法

  2.元注解

    元注解也是一种注解,它是用来辅助说明注解的

1、@Target
用来说明注解的使用范围
ElementType枚举类中有说明
TYPE:声明可以用在类、接口、注解上
Field:用在属性上
METHOD:用在方法上
CONSTRUCTOR:用在构造方法上
2、@Retention
用来说明注解的生命周期
RetentionPolicy.
SOURCE: 注解只保留在源代码中
CLASS:注解保留在CLASS文件中,JVM加载类后
就被丢弃掉
RUNTIME:保留至程序运行时,这个时候可以通过反射
获取注解信息
3、@Documented通过javadoc生成API文档时可用到
4、@Inherited:子类对父类的注解继承

 

四、自定义注解

复制代码
package com.demo.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface MyAnnotation {
    public String name() default "HYS";
    int age();
    Sex sex();
    String[] hobby();
    boolean isJavaDev() default true;
}
注解Demo
复制代码

 

posted @   Banana_Fish  阅读(181)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示