注解
来源:互联网 发布:不动产静态投资 软件 编辑:程序博客网 时间:2024/04/27 10:04
注解目前非常的流行,很多主流框架都支持注解。注解的语法比较简单,除了@符号的使用之外,它基本与Java固有语法一致。
标准注解:
Java SE5内置了三种标准注解:
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,关闭不当编译器警告信息。
自定义注解:
@Target
表示该注解可以用于什么地方,可能的ElementType参数有:
CONSTRUCTOR:构造器的声明
FIELD:域声明(包括enum实例、属性)
LOCAL_VARIABLE:局部变量声明
METHOD:方法声明
PACKAGE:包声明
PARAMETER:参数声明
TYPE:类、接口(包括注解类型)或enum声明
@Retention
表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
SOURCE:注解将被编译器丢弃
CLASS:注解在class文件中可用,但会被VM丢弃
RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息。
@Document
将注解包含在Javadoc中
@Inherited
允许子类继承父类中的注解自定义注解实例:
定义注解类:UseCase.java
import java.lang.annotation.*;@Target({ElementType.METHOD,ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface UseCase {public int id();public String description() default "no description";}
使用注解的类:PasswordUtils.java
public class PasswordUtils { @UseCase(id = 47, description = "Passwords must contain at least one numeric") public boolean validatePassword(String password) { return (password.matches("\\w*\\d\\w*")); } @UseCase(id = 48) public String encryptPassword(String password) { return new StringBuilder(password).reverse().toString(); }}
分析注解的类:test.java
public static void trackUseCases() { for (Method m : PasswordUtils.class.getDeclaredMethods()) { UseCase uc = m.getAnnotation(UseCase.class); if (uc != null) { System.out.println("Found Use Case:" + uc.id() + " " + uc.description()); } }}
阅读全文
0 0
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解
- 注解。
- 注解
- 注解
- 注解
- 注解
- Struts2实现上传文件
- MyEclipse Import 工程 UnknownFaceted Project Problem (Java Version Mismatch) 问题解决!
- Fastlane安装,实现自动化打包和发布
- JS表单验证-12个常用的JS表单验证
- 解决路径传参的乱码问题
- 注解
- 如果注册一个net_device呢?
- maven工程异常-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment v
- 隐藏安卓屏幕虚拟按键
- 简单使用uiautomator(一)
- mysql权限问题_mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
- 埃拉托斯特尼筛法
- Eclipse设置jre路径,即引入jre即java虚拟机,并不只是引入那几个jar包这么简单
- JavaScript的回调函数与递归函数