• 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
  • 相关阅读:
    [NOI2014]动物园
    [NOI2014]起床困难综合症
    bzoj2688 Green Hackenbush
    luogu P2575 高手过招
    [NOI2015]荷马史诗
    win10系统U盘读取不了怎么解决 三种方法快速解决"文件或目录损坏且无法读取& 发布时间:2020-06-05 09:19:46 作者:佚名 我要评论
    在 Linux 中,最直观、最可见的部分就是 文件系统(file system)
    GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充
    docker 分层 隔离
    DNS和BIND
  • 原文地址:https://www.cnblogs.com/bananafish/p/9748302.html
Copyright © 2020-2023  润新知