Java程序设计——注解(Java高级应用)

本文详细介绍了Java中的注解,包括基本注解如@Override、@Deprecated、@SuppressWarnings、@SafeVarargs和@FunctionalInterface,元注解如@Retention、@Documented、@Target和@Inherited,以及注解的定义、使用和元注解的作用。注解在编译检查、文档生成和代码分析等方面起着关键作用。
摘要由CSDN通过智能技术生成

目录

3.@SuppressWarnings注解

4.@SafeVarargs注解(?)

5.@FunctionalInterface注解

2.@Documented文档注解

注解就像修饰符一样,使用时在前面增加@符号,用于修饰包、类、构造方法、域、方法、参数、局部变量的声明,这些信息被存在注解的“name=values”键值对中

注解不影响程序代码的运行,无论增加还是删除注释,代码都始终如一的执行

如果希望程序中的注解在运行时起到一定的作用,需要通过配套的工具对注解中的信息进行访问和处理,这种工具称为APT(注解处理工具)

APT注解处理工具负责提取注解中包含的元数据,并根据这些元数据增加额外功能

元数据的作用如下:

  • 编写文档——通过注解中标识的元数据可以生成doc文档
  • 代码分析——通过注解中标识元数据,使用反射对代码进行分析
  • 编译检查——通过注解中标识的元数据,让编译器能够实现基本的编译检查,如@Overrride重写

一、基本注解

1.@Override注解

@Override注解用于指定方法的重写,强制一个子类必须覆盖父类的方法

public class OverrideDemo {
    public static void main(String[] args) {
        Father obj = new Son();
        obj.Info();
    }
}
class Father{
    public void Info(){
        System.out.println("父类的Info方法");
    }
}
class Son extends Father{

    //  使用@Override指定下面必须重写父类的方法
    @Override
    public void Info(){
        System.out.println("子类的Info方法");
    }
}

通过运行结果,可能看不出@Overrride注解的作用,此时将@Overrride注解删除,程序运行结果保持不变

因为@Override注解的作用是告诉编译器检查Son类的Info()方法,并保证父类也要有一个Info()方法,否则编译出错

2.@Deprecated注解

@Deprecated注解标识某个程序元素(接口、类、方法)已过时

public class DeprecatedDemo {
    public static void main(String[] args) {
        new DeprecatedDemo().oldMethod();
    }

    @Deprecated
    public void oldMethod(){
        System.out.println("使用过时的方法会被编译警告...");
    }
}

上述代码中,oldMethod()方法使用@Deprecated注解修饰该方法已过时,因此会引起编译器警告,而不是错误,结果依然可以输出

3.@SuppressWarnings注解

@SuppressWarning注解允许开发人员控制编译器警告的发布且会一直作用于该元素的所有子元素,可以标注在类、字段、方法、参数、构造方法以及局部变量上

语法格式如下:

import java.util.ArrayList;
import java.util.List;

// 忽略因使用泛型而未限制类型而产生的警告
@SuppressWarnings("rawtypes")
public class SuppressWarningsDemo {
    public static void main(String[] args) {
        List list 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值