iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java中基本注解的知识点总结
  • 837
分享到

java中基本注解的知识点总结

2024-04-02 19:04:59 837人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

1、java.lang.Override是一个标记类型注解,它被用作标注方法.他说明了该方法是继承了父类的方法,就是重写了父类中同名方法。 @Override public vo

1、java.lang.Override是一个标记类型注解,它被用作标注方法.他说明了该方法是继承了父类的方法,就是重写了父类中同名方法。


@Override
public void onCreate(Bundle savedInstanceState)

{…….}

这种写法是正确的,如果你写成:


@Override
public void oncreate(Bundle savedInstanceState)
{…….}

编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or
implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)
而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate

2、SuppressWarnings

通过它告诉编译器忽视可能出现的警告。实际上里面有很多参数,不同参数设置不同的警告。

- deprecation,使用了过时的类或方法时的警告
- unchecked,执行了未检查的转换时的警告
- fallthrough,当 switch 程序块直接通往下一种情况而没有 break 时的警告
- path,在类路径、源文件路径等中有不存在的路径时的警告
- serial,当在可序列化的类上缺少serialVersionUID 定义时的警告
- finally ,任何 finally 子句不能正常完成时的警告
- all,关于以上所有情况的警告

内容扩展:

自定义注解测试

定义注解@RepeatMethod,包含int类型参数value。


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RepeatMethod {

  int value() default 1;

}

在doSomeThing方法上应用注解。如果要指定的注解参数为value,并且没有指定其他的参数值时,可以采用简写的方式,省略参数名和等号。


public class Demo {
  @RepeatMethod(5)
  public void doSomeThing(){
    System.out.println("----注解测试----");
  }
}

通过反射获取注解信息,然后做对应的处理,如假设@RepeatMethod注解的作用是重复调用被标注的方法,参数value是指定重复调用方法的次数:


import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class MyDemo {
  public static void main(String[] args) throws IllegalAccessException, InstantiationException, InvocationTargetException {
    Class cla = Demo.class;
    Method[] methods = cla.getMethods();
    Object demo = cla.newInstance();
    for (Method method : methods){
      //判断方法上是否有标注@RepeatMethod注解
      if(method.isAnnotationPresent(RepeatMethod.class)){
        //获取RepeatMethod注解的参数值
        RepeatMethod repeatMethod = method.getAnnotation(RepeatMethod.class);
        for (int i = 0;i < repeatMethod.value(); i++)
        method.invoke(demo, null);
      }
    }
  }
}

输出结果:


----注解测试----
----注解测试----
----注解测试----
----注解测试----
----注解测试----

到此这篇关于java中基本注解的知识点总结的文章就介绍到这了,更多相关java中有哪些基本注解内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: java中基本注解的知识点总结

本文链接: https://www.lsjlt.com/news/129339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作