十六章总结

本文详细介绍了Java反射机制如何访问JVM中的对象,包括构造方法、成员变量和方法的操作,以及Annotation的定义与运行时访问。通过`@Retention(RUNTIME)`,可在运行时获取Annotation信息。
摘要由CSDN通过智能技术生成

一、反射:通过Java 反射机制,可以在程序中访问已经装载到JVM中的Java 对象的描述,实现访问、检测和修改描述Java 对象本身信息的功能。Java 反射机制的功能十分强大,在java.langreflect 包中提供了对该功能的支持。

JTextField textField = new JTextField();        //创建JTextField对象                                            Class textFieldC =textField.getClass();        //获取Class 对象
1.访问构造方法:在通过下列一组方法访问构造方法时,将返回Constructor类型的对象或数组。每个Constructor象代表一个构造方法,利用Constructor对象可以操纵相应的构造方法
getConstructors()。
getConstructor(Class<?>...parameterTypes)。
getDeclaredConstructors()。
getDeclaredConstructor(Class<?>...parameterTypes)。
2.访问成员变量:在通过下列一组方法访问成员变量时,将返回 Field 类型的对象或数组。每个Field 对象代表成员变量,利用 Field对象可以操纵相应的成员变量:
getFields0)。
getField(String name)。
getDeclaredFields)。
getDeclaredField(String name)。
3.访问成员方法
在通过下列一组方法访问成员方法时,将返回Method类型的对象或数组。每个Method对象代一个方法,利用Method 对象可以操纵相应的方法:
getMethods0。
getMethod(String name, Class<?>...parameterTypes)。
getDeclaredMethods0)。                                                                                                                 KgetDeclaredMethod(String name, Class<?>...parameterTypes)。

二、Annotation注解功能

1.定义Annotation 类型:在定义 Annotation 类型时,也需要用到用来定义接口的 interface 关键字,但需要在 iterface 关键字前加一个“@”符号,即定义 Amotation 类型的关键字为inerace,这个关字的隐意思是继承ava.langannotation.Annotation 接口。

public @interface NoMemberAnnotation {        }

public @interface OneMemberAnnotation {        String value();        }
2.访问Annotation 信息:如果在定义Annotation 类型时将@Retention 设置为 RetentionPolicyRUNTIME,那么在运行程序时通过反射就可以获取到相关的Annotation 信息,如获取构造方法、字段和方法的Annotation 信息。

课堂代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值