当前位置: 首页 > news >正文

【Java中级】11章、注解、元注解介绍、快速入门,了解java注解的基本使用方式【2】

文章内容

  • JDK内置的基本注释类型

    • @Override
    • @Deprecated
    • @SuppressWarnings
  • 元注解

    • 对注释进行注解

❤️内容涉及注解的定义,快速入门,注意事项
🌈 跟着B站一位老师学习的内部类内容,现写这篇文章为学习内部类的小伙伴提供思路支持,希望可以一起感受java的魅力,爱上java编程!!!


1、注解

1.1、注解的理解

1.2、基本的Annotation介绍

Deprecated:过时了、已弃用

Suppress:镇压、抑制、平定

Element:元素

1.3、Annotation应用实例

1.3.1、Override

1.3.2、@ Targer

@Target 修饰注解的注解,称为元注解

@Target(ElementType.METHOD)

1.3.3、@ Deprecated


代码演示

package com.fhsedu.annotation;

/**
 * @author fhs
 * @version 1.0
 */
public class Deprecated_ {
    public static void main(String[] args) {

    }
}
//老师解读:
//1、@Deprecated  修饰某个元素,表示该元素已经过时了
//2、即不再推荐使用,但是仍然可以使用
//3、查看@Deprecated 注解源码
//4、可以修饰方法,类,字段,包,参数  等等
//5、@Deprecated  可以做版本升级过渡使用
/*
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}
 */
@Deprecated
class A{
    public int n1 = 10;
    public void hi() {

    }
}

即:如果jdk8 升级为 jdk11时,某个类不建议使用有新的类可以代替它,就可以注解为:

@Deprecated

1.3.4、SuppressWarnings

SuppressWarnings:属性介绍以及属性说明

  • all,抑制所有警告
  • boxing,抑制与封装/拆装作业相关的警告
  • cast,抑制与强制转型作业相关的警告
  • dep-ann,抑制与淘汰注解相关的警告
  • deprecation,抑制与淘汰的相关警告
  • fallthrough,抑制与switch陈述式中遗漏break相关的警告
  • finally,抑制与隐藏变数的区域变数相关的警告
  • hiding,抑制与隐藏变数的区域变数相关的警告
  • incomplete-switch,抑制与switch陈述式(enum case)中遗漏项目相关的警告
  • javadoc,抑制与javadoc相关的警告

package com.fhsedu.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.ArrayList;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.ElementType.LOCAL_VARIABLE;

/**
 * @author fhs
 * @version 1.0
 */
public class SuppressWarnings_ {

    /*
    //通常我们可以防止具体的语句,方法,类
    @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
    @Retention(RetentionPolicy.SOURCE)
    public @interface SuppressWarnings {
      String[] value();
}
    */
    //解读:
    //1、当我们不希望看到这些警告的时候,可以使用SuppressWarnings_注解来抑制警告信息
    //2、在{""}中,可以写入你希望抑制(不显示)警告信息
    //3、可以指定的警告类型....文档中细看有很多的。。
    //4、关于@SuppressWarnings作用范围是和你放置的位置相关
    //  比如@SuppressWarnings放置在main方法,那么抑制警告的范围就是  main方法
    @SuppressWarnings({"rawtypes", "unchecked", "unused"})
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("jack");
        list.add("tom");
        list.add("mary");
        int i;
        System.out.println(list.get(1));
    }

    @SuppressWarnings("unused")
    public void hi() {
        @SuppressWarnings("rawtypes")
        ArrayList list = new ArrayList();
        list.add("jack");
        list.add("tom");
        list.add("mary");
        int i;
        System.out.println(list.get(1));
    }
}


看抑制范围:只在main范围


1.4、元注解(了解)

Retention:保留

Policy:政策

2.4.1、@RetentionPolicy


作用时期:source -->class—>runtime

1.4.2、@Target

1.4.3、@Documented

1.4.4、Inherited注解

Inherited:继承

如果a类标注了:@Inherited 那么b继承a就会自动在b类上标注@Inherited

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/119661.html

相关文章:

  • vscode 跳转失败之c_cpp_properties.json解析
  • 【从一个 TypeScript 报错理解 ES6 模块的三种导入方式】
  • 北京自在科技:让万物接入苹果Find My网络的″钥匙匠″
  • sql-labs靶场 less-2
  • PyTorch张量范数计算终极指南:从基础到高阶实战
  • Python: sqlite3.OperationalError: no such table: ***解析
  • 在1panel中安装WebUI
  • 未来杭州:科技与诗意的时空交响曲
  • Linux 学习笔记(4):cd 与 pwd 命令的深度解析与实战应用(期末、期中复习必备)
  • ArcGis Reclassify CDL
  • muduo:运行起来
  • Prometheus采集容器故障排查
  • 从CAD数据到智能计量:Inspire如何借助HOOPS SDK创计量新高度
  • 【C++11】特殊类的设计 单例模式 类型转换
  • 数据库7(数据定义语句,视图,索引)
  • 单缓冲、双缓冲、多缓冲与缓冲池详解
  • STM32学习之ARM内核自带的中断
  • 【AI论文】SynWorld:用于代理行为知识细化的虚拟场景合成
  • 数据结构与算法-数学-(同余,线性同余方程,中国剩余定理,卡特兰数,斯特林数)
  • 用c语言写一个linux进程之间通信(聊天)的简单程序
  • 低代码控件开发平台:飞帆中控件的通信
  • C++内存管理优化实战:提升应用性能与效率
  • 单次 CMS Old GC 耗时长问题分析与优化
  • SQL语法进阶篇(二),数据库复杂查询——窗口函数
  • Python 集合
  • C语言 数据结构 【栈】动态模拟实现
  • 学习日志37—基于变分量子电路的量子机器学习算法综述
  • 气质联用仪器GCMSMS配置CTC 性能测试
  • 拥抱AI,永洪vividime迈进数据智能时代
  • 视频设备轨迹回放平台EasyCVR远程监控体系落地筑牢国土监管防线