反射

反射机制是 Java 的动态性之一

动态语言:在程序运行时,可以改变程序的结构或变量的类型

Java的动态性让编程变得更加的灵活,功能就更加的强大

反射机制的常见作用

1) 动态的加载类、动态的获取类的信息(属性,方法,构造器)

2) 动态构造对象

3) 动态调用类和对象的任意方法、构造器

4) 动态调用和处理属性

5) 获取泛型信息

6) 处理注解

获取 Class 对象的方式

1) 通过字节码文件

2) 对象的 getClass()方法

3) Class 类的静态方法 forName(….)

例:获取类名所调用的方法

String getName() 获得包名+类名

String getSimpleName() 获得类的名字

例:获得类的属性所调用的方法

Field getField(String fieldName) 得到公共的属性对象

Field []c.getDeclaredFields() 得到所有的属性对象


反射机制对程序的运行在性能上有一定的影响,速度慢

可以通过 setAccessible 来提高反射性能

java中新增的其中一种泛型

ParameterizedType: 表 示 一 种 参 数 化 的 类 型 ,比 如Collection<String>,可以获取 String 信息

注解

其作用1) 不是程序本身,可以对程序作出解释。(这一点跟注释没什么区别)

2) 可以被其他程序(比如:编译器等)读取。(注解信息处理流程,是注解和注释的重大区别,如果没有注解信息处理流程,则注解毫无意义)

注解是以”@注释名”在代码中存在,还可以添加一些参数值

内置的注解

1) @Override :标识方法是重写的方法

2) @Deprecated :标识的方法不建议使用

3) @SuppressWarnings:用来抑制编译时的警告信息

4)@SuppressWarinings 需要提供参数才能正常使用

使 用 @interface 定 义 自 定 义 注 解 时 , 自 动 继 承 了java.lang.annotation.Annotation 接口

@interface 用来声明一个注解

注意事项:注解元素必须要有值

元注解的作用就是负责注解其他注解

1) @Target   作用:用于描述注解的使用范围

2) @Retention   作用:表示需要在什么级别保存该注解信息,用于描述注解的生命周期

3) @Document   

4) @Inherited

ORM:对象关系映射

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容