【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
如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!