秦皇岛抚宁区建设局网站wordpress添加循环音乐
news/
2025/10/3 6:14:07/
文章来源:
秦皇岛抚宁区建设局网站,wordpress添加循环音乐,杭州 洛阳网站建设公司 网络服务,班级网站设计与制作注解的理解和类型
java注解-最通俗易懂的讲解 廖雪峰java注解 对注解#xff08;Annotation#xff09;最直接的理解是#xff0c;注解本身就相当于一个附加信息#xff0c;这个附加信息并不会对原有的类#xff0c;方法等进行处理#xff0c;进行处理的应该是对附加信息…注解的理解和类型
java注解-最通俗易懂的讲解 廖雪峰java注解 对注解Annotation最直接的理解是注解本身就相当于一个附加信息这个附加信息并不会对原有的类方法等进行处理进行处理的应该是对附加信息进行处理的方法这些方法根据附加信息进行进一步处理
注解可分为三类
由编译器使用的注解(编译时使用编译后扔掉 Override让编译器检查该方法是否正确地实现了覆写SuppressWarnings告诉编译器忽略此处代码产生的警告。 工具处理.class文件使用的注解这些工具加载class对class做动态修改实现特殊功能但加载结束不会存在于内存。一般不用我们自己处理程序运行期间能够读取的注解加载后一直存在于JVM中。这一类注解是由自己编写的java代码进行处理而不是JVM自动识别处理 元注解
Retention: 表示注解的存活时间 RetentionPolicy.SOURCE 注解只在源码阶段保留在编译器进行编译时它将被丢弃忽视。RetentionPolicy.CLASS 注解只被保留到编译进行的时候它并不会被加载到 JVM 中。RetentionPolicy.RUNTIME 注解可以保留到程序运行的时候它会被加载进入到 JVM 中所以在程序运行时可以获取到它们。 Documented:够将注解中的元素包含到 Javadoc 中去。Target: 定义注解应用在源码的位置 类或接口ElementType.TYPE字段ElementType.FIELD方法ElementType.METHOD构造方法ElementType.CONSTRUCTOR方法参数ElementType.PARAMETER。 Inherited:如果一个超类被 Inherited 注解过的注解进行注解的话那么如果它的子类没有被任何注解应用的话那么这个子类就继承了超类的注解。 注解的定义
使用interface定义注解
Target(ElementType.TYPE)
Rentation(RetentionPolicy.RUNTIME)
public interface TestAnnotation {int id() default -1;String msg() default hi;
}注解只有成员变量没有方法成员变量的定义是无形参方法来声明。使用default指定默认值推荐
赋值方法使用方法
TestAnnotation(id3, msghello annotation)
public class Test {
}//使用默认值
TestAnnotation()
public class Test {
}其他
还有一种情况。如果一个注解内仅仅只有一个名字为 value 的属性时应用这个注解时可以直接接属性值填写到括号内一个注解没有任何属性那么在应用这个注解的时候括号都可以省略。 注解的处理
//判断是否应用某个注解(注解为annotationClass)
public boolean isAnnotationPresent(Class? extends Annotation annotationClass) {}
//获取 Annotation 对象返回指定类型注解
public A extends Annotation A getAnnotation(ClassA annotationClass) {}
//获取Annotation对象返回注解到这个元素上的所有注解
public Annotation[] getAnnotations() {}处理案例代码
TestAnnotation()
public class Test {public static void main(String[] args) {boolean hasAnnotation Test.class.isAnnotationPresent(TestAnnotation.class);if ( hasAnnotation ) {TestAnnotation testAnnotation Test.class.getAnnotation(TestAnnotation.class);System.out.println(id:testAnnotation.id());System.out.println(msg:testAnnotation.msg());}}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925581.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!