一、 注解
1 元注解
元注解的作用就是负责注解其他注解,
Java定义了4个标准的meta-annotation类型他们被用来提供对其他annotation类型作说明.
这些类型和它们所支持的类在java.lang.annotation包中可以找到.( @Target , @Retention,
@Documented,@Inherited )
@Target :用于描述注解的使用范围(即:被描述的注解可以用在什么地方
@Retention :表示需要在什么级别保存该注释信息,用于描述注解的生命周期
(SOURCE < CLASS < RUNTIME)
@Document:说明该注解将被包含在javadoc中
@Inherited: 说明子类可以继承父类中的该注解
1 | //定义一个注解 |
2 自定义注解
使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口
分析:
- @ interface用来声明一个注解,格式: public @ interface注解名{定义内容}
- 其中的每一-个方法实际上是声明了一个配置参数.
- 方法的名称就是参数的名称.
- 返回值类型就是参数的类型(返回值只能是基本类型,Class , String , enum
- 可以通过default来声明参数的默认值
- 如果只有一个参数成员, - -般参数名为value
- 注解元素必须要有值, 我们定义注解元素时,经常使用空字符串,0作为默认值.
1 | //注解可以显示赋值,如果没有默认值 ,我们就必须给注解赋值 |
二、 反射
1 静态与动态语言
- 动态语言
➢是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被
引进,已有的函数可以被删除或是其他结构.上的变化。通俗点说就是在运行时代
码可以根据某些条件改变自身结构。
➢主要动态语言: Object-C、 C#、 JavaScript、 PHP、 Python等。 - 静态语言
➢与动态语言相对应的,运行时结构不可变的语言就是静态语言。如Java、C、C++。
➢Java不是动态语言,但Java可以称之为“准动态语言”。即Java有一 定的动态性,
我们可以利用反射机制获得类似动态语言的特性。Java的动态性让编程的时候更
加灵活!
2 如何获取CLASS类
3 CLASS类方法


