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

网友投稿 266 2022-10-15


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.annoHewtMnewAtation.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);

}

}

}

}

输出结果:

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

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

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

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:网络分流器-LTE面临的挑战
下一篇:网站主机
相关文章

 发表评论

暂时没有评论,来抢沙发吧~