@在java中叫做annotation,在python中称之为decorator

  • annotation:注解,解释
  • decorator:装饰者

java从j2se5开始提供了为annotation(注释,标注)的功能。Java的annotation,可以附加在package, class, method, field等上面,相当于给它们添加了额外的辅助信息

sun公司就提供了apt(Annotation Processing Tool) 工具,apt工具是一个可以处理annotation的命令行工具,apt提供了在编译期针对源代码级别的解析,并可以在解析时生成新的源代码和其他文件,同时还可以对生成的源代码进行编译。

其他程序可以在运行时动态解析将要被执行的程序里的annotation信息,并根据被附加的annotation信息来执行不同的操作。

这算是对 java 语法一种低成本的改进,和python当中的decorator有很大不同,python中的@也起能到 注释/填写meta信息的作用,但是它的原理是运行期注入,编程空间大

java annotation 更多是一些标记

自己定义 anotation的方法是通过如下的代码


@Retention(RetentionPolicy.RUNTIME)  
@Target(ElementType.ANNOTATION_TYPE)  
public @interface Target {  
    ElementType[] value();  
} 

本文地址: http://lutaf.com/139.htm 鲁塔弗原创文章,欢迎转载,请附带原文链接