zoukankan      html  css  js  c++  java
  • java注解

    注解
    Annotation(注释 注解)

    注释
    单行注释 //
    多行注释 /* */
    文档注释 /** */

    注解
    1.注解的写法
      @XXX [(一些信息)]
    2.注解放置在哪里
      类的上面 属性上面 方法上面 构造方法上面 参数前面
    3.注解的作用
      1.用来充当注释的作用(仅仅是一个文字的说明) @Deprecated
      2.用来做代码的检测(验证) @Override
      *3.可以携带一些信息(内容) 文件.properties .xml 注解
    4.Java中有一些人家写好的注解供我们使用
      @Deprecated 用来说明方法是废弃的
      @Override 用来做代码检测 检测此方法是否是一个重写
      @SuppressWarnings(信息) String[] {""} 如果数组内的元素只有一个长度 可以省略{}
        unused 变量定义后未被使用
        serial 类实现了序列化接口 不添加序列化ID号
        rawtypes 集合没有定义泛型
        deprecation 方法以废弃
        *unchecked 出现了泛型的问题 可以不检测
        all 包含了以上所有(不推荐)
    5.注解中可以携带信息 可以不携带
      信息不能随意写 信息的类型只能是如下的类型
      1.基本数据类型
      2.String类型
      3.枚举类型enum
      4.注解类型@
      5.数组类型[] 数组的内部需要是如上的四种类型
    6.如何自己描述一个注解类型
      1.通过@interface 定义一个新的注解类型
      2.发现写法与接口非常相似(可以利用接口的特点来记忆注解)
        可以描述public static final的属性 比较少见
        可以描述public abstract的方法 方法要求返回值必须有 返回值类型是如上那些
      3.我们自己定义的注解如果想要拿来使用
        光定义还不够 还需要做很多细致的说明(需要利用Java提供好的注解来说明)
        元注解(也是注解 不是拿来使用的 是用来说明注解)
        @Target 描述当前的这个注解可以放置在哪里写的
        @Retention 描述当前的这个注解存在什么作用域中的
        源代码文件--->编译--->字节码文件--->加载--->内存执行
        SOURCE CLASS RUNTIME
        @Inherited 描述当前这个注解是否能被子类对象继承
        @Document 描述这个注解是否能被文档所记录
      4.自己使用自己描述的注解
        问题1. 在注解里面描述了一个方法 方法没有参数 方法是有返回值String[]
          使用注解的时候 让我们传递参数
          理解为 注解的方法做事 将我们传递给他的参数 搬运走了 给了别人
        问题2. 使用别人写好的注解不用写方法名 我们自己定义的方法必须写名字
          如果我们自己定义的注解 只有一个方法 方法名字叫value
          在使用的时候就可以省略方法名
          如果传递的信息是一个数组 数组内只有一个元素 可以省略{}
          如果方法是两个以上 每一个方法必须写名字

      如何解析注解内携带的信息(反射机制)
        注解应用场景

    ==========================================================
    Properties类的使用
      java.util
      继承HashTable
      使用方式像是map集合 value = getProperty(key)方法
      读取的信息是文件
      文件的后缀名.properties
      文件里面key=value

    1.注解写法
        @XXXX (信息)
    2.注解放置在哪里写
        类 方法 属性 构造 变量 参数(前面)
    3.Java中定义好的注解
        @Deprecated 废弃的
        @Override 检测方法是否是重写
        @SuppressWarnings 去掉程序中的警告(尽量不要用 尽量通过编写代码去掉警告)
    unused serial rawtypes deprecation unchecked all
    4.如何自己定义注解
        描述一个自己的类 @interface
        类的上面通过元注解来描述
      @Target
      @Retention
      @Inherited
      想要携带一些信息 自定义注解类型 添加方法
      方法要求必须有返回值 返回值类型 基本 String 枚举 注解 数组
      方法的作用将我们传递的信息 搬走了 交给别人
    5.注解的作用
      充当注释 仅仅是一个文字说明
      代码检测 @Override
      *携带信息
    6.如何访问到注解对象
      如何获取里面的信息(需要反射机制)
    7.注解在开发中应用的场景

    心之何如,有似万丈迷津,遥亘千里,其中并无舟子可以渡人,除了自渡,他人爱莫能助。
  • 相关阅读:
    SSM整合——实现书籍的增删改查
    [web]获取用户当前所在城市
    [mysql]pymysql插入500万数据
    [Flask] 01 ORM方法列表
    [少儿编程] 03-龟兔赛跑(下)
    [少儿编程] 02-龟兔赛跑(上)
    [少儿编程] 00-入门课程大纲
    [少儿编程] 01-少儿编程环境搭建
    [Linux] Centos7 部署django项目
    [Linux] centos7 安装Mariadb
  • 原文地址:https://www.cnblogs.com/s88888888/p/13441199.html
Copyright © 2011-2022 走看看