Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别
生活随笔
收集整理的這篇文章主要介紹了
Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、getEnclosing* ?當(dāng)前類在……中閉合
| ?Class<?> | getEnclosingClass() ??????????返回底層類的立即封閉類。 |
| ?Constructor<?> | getEnclosingConstructor() ??????????如果該 Class 對(duì)象表示構(gòu)造方法中的一個(gè)本地或匿名類,則返回 Constructor 對(duì)象,它表示底層類的立即封閉構(gòu)造方法。 |
| ?Method | getEnclosingMethod() ??????????如果此 Class 對(duì)象表示某一方法中的一個(gè)本地或匿名類,則返回 Method 對(duì)象,它表示底層類的立即封閉方法。 |
1、getEnclosingClass(): 返回一個(gè)類,this類在這個(gè)return類中定義,this類不一定是成員內(nèi)部類
?比如:直接定義的內(nèi)部類或匿名內(nèi)部類
2、getEnclosingConstructor():返回構(gòu)造方法,this類是在這個(gè)構(gòu)造函數(shù)中定義
比如:構(gòu)造方法中定義的匿名內(nèi)部類
3、getEnclosingMethod():返回方法,this類是在這個(gè)方法中定義
比如:方法中定義的匿名內(nèi)部類
?
二、getDeclaringClass ?當(dāng)前類聲明在某類中
getDeclaringClass() :返回一個(gè)類,this類定義在這個(gè)return類作為成員
?
三、getDeclared* ?當(dāng)前類聲明了……
| ?Annotation[] | getDeclaredAnnotations() ??????????返回直接存在于此元素上的所有注釋。 |
| ?Class<?>[] | getDeclaredClasses() ??????????返回 Class 對(duì)象的一個(gè)數(shù)組,這些對(duì)象反映聲明為此 Class 對(duì)象所表示的類的成員的所有類和接口。 |
| ?Constructor<T> | getDeclaredConstructor(Class<?>...?parameterTypes) ??????????返回一個(gè) Constructor 對(duì)象,該對(duì)象反映此 Class 對(duì)象所表示的類或接口的指定構(gòu)造方法。 |
| ?Constructor<?>[] | getDeclaredConstructors() ??????????返回 Constructor 對(duì)象的一個(gè)數(shù)組,這些對(duì)象反映此 Class 對(duì)象表示的類聲明的所有構(gòu)造方法。 |
| ?Field | getDeclaredField(String?name) ??????????返回一個(gè) Field 對(duì)象,該對(duì)象反映此 Class 對(duì)象所表示的類或接口的指定已聲明字段。 |
| ?Field[] | getDeclaredFields() ??????????返回 Field 對(duì)象的一個(gè)數(shù)組,這些對(duì)象反映此 Class 對(duì)象所表示的類或接口所聲明的所有字段。 |
| ?Method | getDeclaredMethod(String?name, Class<?>...?parameterTypes) ??????????返回一個(gè) Method 對(duì)象,該對(duì)象反映此 Class 對(duì)象所表示的類或接口的指定已聲明方法。 |
| ?Method[] | getDeclaredMethods() ??????????返回 Method 對(duì)象的一個(gè)數(shù)組,這些對(duì)象反映此 Class 對(duì)象表示的類或接口聲明的所有方法,包括公共、保護(hù)、默認(rèn)(包)訪問和私有方法,但不包括繼承的方法。 |
返回當(dāng)前類中的成員。
比如:當(dāng)前類中定義的成員內(nèi)部類或接口、構(gòu)造函數(shù)、成員變量、方法、注解。
?
總結(jié)
以上是生活随笔為你收集整理的Class类中的getEnclosing*、getDeclared*与getDeclaringClass的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霍廷格vs戈达迪:2022年为什么用户更
- 下一篇: 知道本地IP地址如何知道IP所在的电脑是