Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别

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

 Class<?>getEnclosingClass()
          返回底层类的立即封闭类。
 Constructor<?>getEnclosingConstructor()
          如果该 Class 对象表示构造方法中的一个本地或匿名类,则返回 Constructor 对象,它表示底层类的立即封闭构造方法。
 MethodgetEnclosingMethod()
          如果此 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 对象表示的类声明的所有构造方法。
 FieldgetDeclaredField(String name)
          返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。
 Field[]getDeclaredFields()
          返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。
 MethodgetDeclaredMethod(String name, Class<?>... parameterTypes)
          返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。
 Method[]getDeclaredMethods()
          返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。

返回当前类中的成员

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值