
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发等互联网相关的技术,而本文我们就再来了解一下,Java编程泛型反射与注解基础知识分享。
1、泛型概念
泛型是在JDK1.5之后引入的,旨在让我们写出更加通用化,更加灵活的代码。通用化的手段在于让数据类型变得参数化,定义泛型时,对应的数据类型是不确定的,泛型方法被调用时,会指定具体类型,其核心目标是为了解决容器类型在编译时安全检查的问题。
泛型:一般用在类、方法、接口中,叫做泛型类、泛型接口、泛型方法
2、反射的概念及作用
反射允许程序在运行时来进行自我检查并且对内部的成员进行操作。反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。
反射机制的作用
在运行时判断任意一个对象所属的类
在运行时获取类的对象
在运行时访问java对象的属性、方法、构造方法等
java.lang.reflect类库里面主要的类
Field:表示类中的成员变量
Method:表示类中的方法
Constructor:表示类的构造方法
Array:该类提供了动态创建数组和访问数组元素的静态方法
反射依赖的Class:用来表示运行时类型信息的对应类
每个类都有一个与之相应的Class对象
Class类为类类型,而Class对象为类类型对象
Class类的特点
Class类也是类的一种,class则是关键字
Class类只有一个私有的构造函数,只有JVM能够创建Class类的实例
JVM中只有一个和类相对应的Class对象来描述其类型信息
3、注解介绍及作用
由于反射需要获取到相关的类全名(类名+包名),因此我们还需要记录哪些类是通过反射来获取的。我们可以通过XML来保存类相关的信息已供反射用,此外,我们还可以通过注解来保存类相关信息以供反射调用。
注解:提供一种为程序元素设置元数据的方法
元数据是添加到程序元素如方法、字段、类和包上的额外信息
注解是一种分散式的元数据设置方式,XML是集中式的设置方式
注解不能直接干扰程序运行
注解的工作原理
通过键值对的形式为注解属性赋值
编译器检查注解的使用范围,将注解信息写入元素属性表,
运行时JVM将RUNTIME的所有注解属性取出并终存入map里
创建AnnotationInvocationHandler实例并传入前面的map中
JVM使用JDK动态代理为注解生成代理类,并初始化对应的处理器
调用invoke方法,通过传入方法名返回注解对应的属性值
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。