- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo Class类与Java反射 本讲大纲: 1、访问构造方法 2、访问成员变量 3、访问方法 * 访问构造方法 在通过下列一组方法访问构造方法时,将返回Constructor类型的对象或数组。每个Constructor对象代表一个构造方法,利用Constructor对象可以操纵相应的构造方法。 ? getConstructors() ? getConstructor(Class?... parameterTypes) ? getDeclaredConstructors() ? getDeclaredConstructor(Class?... parameterTypes) 如果是访问指定的构造方法,需要根据该构造方法的入口参数的类型来访问。 * 访问成员变量 在通过下列一组方法访问成员变量时,将返回Field类型的对象或数组。每个Field对象代表一个成员变量,利用Field对象可以操纵相应的成员变量。 ? getFields() ? getField(String name) ? getDeclaredFields() ? getDeclaredField(String name) * 访问方法 在通过下列一组方法访问方法时,将返回Method类型的对象或数组。每个Method对象代表一个方法,利用Method对象可以操纵相应的方法。 ? getMethods() ? getMethod(String name, Class?... parameterTypes) ? getDeclaredMethods() ? getDeclaredMethod(String name, Class?... parameterTypes) 如果是访问指定的方法,需要根据该方法的名称和入口参数的类型来访问。 * 使用Annotation功能 本讲大纲: 1、定义Annotation类型 2、访问Annotation信息 * * JDK基本内置注解 @Override注释能实现编译时检查,声明该方法是用于覆盖父类中的方法。如果该方法不是覆盖父类的方法,将会在编译时报错。 @Deprecated的作用是对不建议使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息。 @SuppressWarnings与前两个注释有所不同,需要添加一个参数才能正确使用,这些参数值都是已经定义好了的,我们选择性的使用就好了,参数如下: deprecation 使用了过时的类或方法时的警告 unchecked 执行了未检查的转换时的警告 fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告 path 在类路径、源文件路径等中有不存在的路径时的警告 serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告 finally 任何 finally 子句不能正常完成时的警告 all 关于以上所有情况的警告 定义Annotation信息 在定义Annotation类型时,也需要用到用来定义接口的interface关键字,不过需要在interface关键字前加一个“@”符号,即定义Annotation类型的关键字为@interface,这个关键字的隐含意思是继承了java.lang.annotation.Annotation接口。 * 访问Annotation信息 如果在定义Annotation类型时将@Retention设置为RetentionPolicy.RUNTIME,那么在运行程序时通过反射就可以获取到相关的Annotation信息,如获取构造方法、字段和方法的Annotation信息。 类Constructor、Field和Method均继承了AccessibleObject类,在AccessibleObject中定义了3个关于Annotation的方法,其中方法isAnnotationPresent(Class? extends Annotation annotationClass)用来查看是否添加了指定类型的Annotation,如果是则返回true,否则返回false;方法getAnnotation(ClassT annotationClass)用来获得指定类型的Annotation,如果存在则返回相应的对象,否则返回null;方法getAnnotations()用来获得所有的Annotation,该方法将返回一个Annotation数组。 * Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo
您可能关注的文档
最近下载
- 学堂在线 海上求生与救生 章节测试答案.docx VIP
- 智能无人船在水下地形测量中的应用.pptx VIP
- 超星尔雅2018《形象管理》章节测试答案满分答案.pdf VIP
- 学堂在线 生活英语读写 期末考试复习题答案.docx VIP
- 某沿海城市低空产业赋能城市管理可行性研究报告-简版v1.0.pdf
- 中国石油大学远程教育,压裂井返排优化设计研究.doc VIP
- 学堂在线 战场侦察监视技术与装备 章节测试答案.docx VIP
- 学堂在线 工程伦理2.0 章节测试答案.docx VIP
- 2024年四川省雅安市中考数学试卷(含答案).doc VIP
- 微电子本科毕业论文题目(热门选题100个)最新.pdf VIP
文档评论(0)