Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别
生活随笔
收集整理的這篇文章主要介紹了
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 對象表示的類或接口聲明的所有方法,包括公共、保護、默認(包)訪問和私有方法,但不包括繼承的方法。 |
返回當前類中的成員。
比如:當前類中定義的成員內部類或接口、構造函數、成員變量、方法、注解。
?
總結
以上是生活随笔為你收集整理的Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霍廷格vs戈达迪:2022年为什么用户更
- 下一篇: Class的getResource与Cl