美文网首页
java反射

java反射

作者: hehehehe | 来源:发表于2020-11-18 07:57 被阅读0次

https://www.cnblogs.com/throwable/p/12272229.html

反射(Reflection)是一种可以在运行时检查和动态调用类、构造、方法、属性等等的编程语言的能力,甚至可以不需要在编译期感知类的名称、方法的名称等等

可以检查或修改应用程序的运行时行为、抑制修饰符限制直接访问私有属性等等

性能开销:由于反射涉及动态解析的类型,因此无法执行某些Java虚拟机优化。因此,反射操作的性能低于非反射操作,应避免在性能敏感应用程序中频繁调用反射操作代码片段。
安全限制:反射需要运行时权限,不能在安全管理器(security manager)下进行反射操作。
代码可移植性:反射代码打破了抽象,反射的类库有可能随着平台(JDK)升级发生改变,反射代码中允许执行非反射代码的逻辑例如允许访问私有字段,这些问题都有可能影响到代码的可移植性。

  • Class、Constructor、Method、Field、Parameter共有的父接口是AnnotatedElement。
  • Constructor、Method、Field共有的父类是AnnotatedElement、AccessibleObject和Member。
  • Constructor、Method共有的父类是AnnotatedElement、AccessibleObject、Member、GenericDeclaration和Executable。
  • getDeclaredMethod(s):返回类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。对于获取Method对象,Method[] methods = clazz.getDeclaredMethods();返回的是clazz本类所有修饰符(public、default、private、protected)的方法数组,但是不包含继承而来的方法。
  • getMethod(s):返回某个类的所有公用(public)方法包括其继承类的公用方法,当然也包括它所实现接口的方法。对于获取Method对象,Method[] methods = clazz.getMethods();表示返回clazz的父类、父类接口、本类、本类接口中的全部修饰符为public的方法数组。
  • getDeclaredField(s)和getField(s)、getDeclaredConstructor(s)和getConstructor(s)同上。
  • getDeclaredAnnotation(s):返回直接存在于此元素上的所有注解,此方法将忽略继承的注解,准确来说就是忽略@Inherited注解的作用。
  • getAnnotation(s):返回此元素上存在的所有注解,包括继承的所有注解。

相关文章

  • 博客地址

    java注解-01、java注解-02、Git面试资源java反射-01、java反射-02、java反射-03为...

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • Java基础之反射

    Java基础之反射 反射基本介绍 反射的使用通过反射调用属性和方法通过反射获取配置文件 反射基本介绍 Java反射...

  • Java 反射机制

    Java 反射机制 什么是反射 Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 ...

  • 一探究竟:Java反射效率低的原因到底在哪?

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • 面试官说:大家都说 Java 反射效率低,你知道原因在哪里么

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • Java面试题之JavaSE高级

    一、Java中的反射 1.说说你对Java中反射的理解 java中的反射首先是能够获取到Java...

网友评论

      本文标题:java反射

      本文链接:https://www.haomeiwen.com/subject/qkqfiktx.html