-------------------------------------------java reflect---------------------------
java的反射机制,是在运行状态下:
(1)对于任意一个类,都能够知道这个类的所有“属性”和“方法”
(2)对于任意一个对象,都能够调用它的任意一个方法
http://blog.csdn.net/ff313976/article/details/7931491
---------------------------------------------java annotation------------------------
http://ifeve.com/java-annotations/
Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.
注解不仅包含了元数据,它还可以作用于程序运行过程中、注解解释器可以通过注解决定程序的执行顺序。
创建自定义注解和创建一个接口相似,但注解的interface关键字需要以@符号开头,可以为注解声明方法。
@Documented |
|
@Target (ElementType.METHOD)
|
|
@Inherited |
|
@Retention (RetentionPolicy.RUNTIME)
|
|
public @interface MethodInfo{
|
|
String author() default 'Pankaj' ;
|
|
String date();
|
|
int revision() default 1 ;
|
|
String comments();
|
|
} |
- 注解方法不能带有参数;
- 注解方法返回值类型限定为:基本类型、String、Enums、Annotation或者是这些类型的数组;
- 注解方法可以有默认值;
- 注解本身能够包含元注解,元注解被用来注解其它注解。
@Retention——指明了该Annotation被保留的时间长短。RetentionPolicy取值为SOURCE,CLASS,RUNTIME。
Java提供了三种内建注解。
1. @Override——当我们想要复写父类中的方法时,我们需要使用该注解去告知编译器我们想要复写这个方法。这样一来当父类中的方法移除或者发生更改时编译器将提示错误信息。
2. @Deprecated——当我们希望编译器知道某一方法不建议使用时,我们应该使用这个注解。Java在javadoc 中推荐使用该注解,我们应该提供为什么该方法不推荐使用以及替代的方法。
3. @SuppressWarnings——这个仅仅是告诉编译器忽略特定的警告信息,例如在泛型中使用原生数据类型。它的保留策略是SOURCE(译者注:在源文件中有效)并且被编译器丢弃。
相关推荐
8. **反射机制**:`java.lang.reflect`包提供了反射API,允许程序在运行时动态地获取类的信息并操作类的对象。 9. **国际化和本地化**:`java.text`和`java.util.Locale`支持不同地区和语言的本地化处理。 10. **...
10. **注解(Annotation)**:如`java.lang.annotation`,提供了元数据功能,可以在编译时或运行时被解析和处理,用于代码的自动生成或验证。 这个压缩包中的“java_api”文件可能是一个HTML或PDF格式的文档,详细...
java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java...
7. **反射API**:`java.lang.reflect`包允许在运行时动态地获取类的信息并操作类的对象,是实现元编程的关键工具。 8. **泛型**:自Java 5引入,泛型提高了代码的类型安全性和重用性,如`List<String>`。 9. **...
要使用反射,你需要导入`java.lang.reflect`包中的类,如`Class`、`Constructor`、`Method`和`Field`。这些类分别代表类的元数据、构造器、方法和字段。通过`Class`的`forName()`方法,你可以根据类名获取到对应的`...
通过`java.lang.reflect.AnnotatedElement`接口,可以获取关于注解的信息。 ### 6. 自定义注解的源代码分析 创建自定义注解通常涉及以下步骤: 1. 使用`@interface`关键字定义注解。 2. 定义注解的元素,指定元素...
7. **反射机制**:通过java.lang.reflect包,开发者可以在运行时动态获取类的信息并操作对象,增强了程序的灵活性和动态性。 8. **注解(Annotation)**:Java 5.0引入的注解是一种元数据,可以用于编译器检查、运行...
8. **注解**:自Java 5开始引入的注解(Annotation)是一种元数据,可以用于提供编译器或运行时系统的信息,如`@Override`、`@Deprecated`等。 9. **国际化**:`java.text`和`java.util.Locale`等类支持多语言环境...
`java.lang.reflect`包提供了反射API,允许程序在运行时检查类、接口、字段和方法的信息。 `java.math`包包含了`BigInteger`和`BigDecimal`类,用于进行高精度的算术运算。 `java.net`包提供了网络编程的基本类,...
6. **反射**:`java.lang.reflect`包提供了反射机制,允许程序在运行时动态访问和修改类、接口、字段和方法,增加了代码的灵活性和动态性。 7. **异常处理**:Java通过异常(Exception)来处理错误和不正常情况,`...
8. **反射与注解**:`java.lang.reflect`包提供了运行时访问类和对象的能力,而`java.lang.annotation`则定义了元数据注解,允许自定义编译时和运行时的检查。 9. **安全**:`java.security`包包含了安全管理、加密...
通过上述示例中的JavaAnnotation压缩包,你可能包含了注解的使用示例、源码以及相关的博客文章。源码可以帮助你理解注解的实际应用,而博客文章可能深入解释了注解的工作原理和最佳实践。学习这些材料,将有助于你...
9. **注解(Annotation)**:`java.lang.annotation`包定义了注解的接口,注解可以用于元数据,帮助编译器和构建工具进行编译时和运行时的检查,或者提供运行时的额外信息。 10. **并发工具类**:`java.util....
10. **反射和注解**:`java.lang.reflect`包允许程序在运行时检查类、接口、构造器和方法的信息,而`java.lang.annotation`提供了注解的处理机制,注解可以用于元数据标记,提高代码的可读性和可维护性。 11. **...
7. **反射机制**:Java的`java.lang.reflect`包提供了反射API,允许在运行时动态获取类的信息并操作对象,如创建对象、调用方法、访问字段等,是实现元编程的关键工具。 8. **泛型**:Java SE 5.0引入了泛型,提高...
10. **注解**:Java 1.5 引入的注解(Annotation)提供了元数据功能,可以用来提供编译时或运行时的附加信息,如 `@Override` 标记重写方法,`@Deprecated` 标记已废弃的方法。 11. **日期与时间**:`java.util....
通过java.lang.reflect包中的类,如Class、Constructor、Method和Field,开发者可以获取到类的内部结构,实现诸如动态方法调用、属性访问等功能。这对于框架开发者尤其有用,他们可以利用反射来实现高度灵活和可配置...
7. **注解处理**:Java反射还能读取类、方法、字段上的注解,`AnnotatedElement`接口提供相关API,如`getAnnotations()`获取所有注解,`isAnnotationPresent(Class<? extends Annotation> annotationClass)`检查是否...