java中基本注解的知识点总结
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中有哪些基本注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring Boot 基于注解的 Redis 缓存使用详解
本篇文章主要介绍了Spring Boot 基于注解的 Redis 缓存使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-05-05
springboot使用hibernate validation对参数校验的实现方法
这篇文章主要介绍了spring-boot 使用hibernate validation对参数进行优雅的校验,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-12-12
SpringCloud自定义loadbalancer实现标签路由的详细方案
本文介绍了通过标签路由解决前端开发环境接口调用慢的问题,实现方案包括在本地服务注册元数据、自定义负载均衡器、以及网关配置等步骤,通过环境变量设置标签,网关根据请求头中的标签进行路由,从而实现前后端互不干扰的开发调试,感兴趣的朋友一起看看吧2025-02-02
springboot配置文件中使用${}注入值的两种方式小结
这篇文章主要介绍了springboot配置文件中使用${}注入值的两种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
springboot+WebMagic+MyBatis爬虫框架的使用
本文是对spring boot+WebMagic+MyBatis做了整合,使用WebMagic爬取数据,然后通过MyBatis持久化爬取的数据到mysql数据库。具有一定的参考价值,感兴趣的可以了解一下2021-08-08


最新评论