zoukankan      html  css  js  c++  java
  • Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别

    一、getEnclosing*  当前类在……中闭合

     Class<?> getEnclosingClass()
              返回底层类的立即封闭类。
     Constructor<?> getEnclosingConstructor()
              如果该 Class 对象表示构造方法中的一个本地或匿名类,则返回 Constructor 对象,它表示底层类的立即封闭构造方法。
     Method getEnclosingMethod()
              如果此 Class 对象表示某一方法中的一个本地或匿名类,则返回 Method 对象,它表示底层类的立即封闭方法。

    1、getEnclosingClass(): 返回一个类,this类在这个return类中定义,this类不一定是成员内部类

     比如:直接定义的内部类或匿名内部类

    2、getEnclosingConstructor():返回构造方法,this类是在这个构造函数中定义

    比如:构造方法中定义的匿名内部类

    3、getEnclosingMethod():返回方法,this类是在这个方法中定义

    比如:方法中定义的匿名内部类

    二、getDeclaringClass  当前类声明在某类中

    getDeclaringClass() :返回一个类,this类定义在这个return类作为成员

    三、getDeclared*  当前类声明了……

     Annotation[] getDeclaredAnnotations()
              返回直接存在于此元素上的所有注释。
     Class<?>[] getDeclaredClasses()
              返回 Class 对象的一个数组,这些对象反映声明为此 Class 对象所表示的类的成员的所有类和接口。
     Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
              返回一个 Constructor 对象,该对象反映此 Class 对象所表示的类或接口的指定构造方法。
     Constructor<?>[] getDeclaredConstructors()
              返回 Constructor 对象的一个数组,这些对象反映此 Class 对象表示的类声明的所有构造方法。
     Field getDeclaredField(String name)
              返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。
     Field[] getDeclaredFields()
              返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。
     Method getDeclaredMethod(String name, Class<?>... parameterTypes)
              返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。
     Method[] getDeclaredMethods()
              返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。

    返回当前类中的成员

    比如:当前类中定义的成员内部类或接口、构造函数、成员变量、方法、注解

  • 相关阅读:
    HDU1412:{A} + {B}
    [置顶] 写好最简单的冒泡排序
    python scrapy 基础
    hdu2531之BFS
    Direct3D 11的流水线
    Direct3D 11的资源
    Perl 多线程模块 Parallel::ForkManager
    POJ 3450 Corporate Identity (KMP+暴搞)
    hdu 2853
    我所理解的设计模式(C++实现)——中介者模式(Mediator Pattern)
  • 原文地址:https://www.cnblogs.com/maokun/p/6768130.html
Copyright © 2011-2022 走看看