Class 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
類別Class的實例代表執行中的 Java 應用程式中的類別與介面。
[Android.Runtime.Register("java/lang/Class", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public sealed class Class : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Lang.Invoke.ITypeDescriptor.IOfField, Java.Lang.Reflect.IGenericDeclaration, Java.Lang.Reflect.IType
[<Android.Runtime.Register("java/lang/Class", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type Class = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ITypeDescriptor.IOfField
interface ITypeDescriptor
interface IGenericDeclaration
interface IAnnotatedElement
interface IType
- 繼承
- 屬性
- 實作
備註
類別Class的實例代表執行中的 Java 應用程式中的類別與介面。 列舉類別和記錄類別是類別的類型;註解介面是一種介面。 每個陣列也屬於一個類別,該類別反映為 Class 一個物件,所有具有相同元素類型與維度數的陣列皆共享。 原始 Java 類型(boolean、 byte、 charshort、 int、 longfloatdouble和 )以及關鍵字void也以物件形式表示。Class
Class 沒有公開建造者。 取而代Class之的是,當 Java 虛擬機器透過以下方法class之一從檔案的位元組<衍生出類別時,會自動建構物件:ul><li>ClassLoader#defineClass(String, byte[], int, int) ClassLoader::defineClass</ul>
類別 Class 的方法揭示了類別或介面的許多特性。 大多數特性來自class類別載入器傳遞給 Java 虛擬機器的檔案。 執行時類別載入環境會決定一些特性。
以下範例使用 Class 物件來列印物件的類別名稱:
<引用>
void printClassName(Object obj) {
System.out.println("The class of " + obj +
" is " + obj.getClass().getName());
}
</區塊引用>
也可以利用Class取得void命名類別或介面(或 )的物件。 例如:
<引用>System.out.println("The name of class Foo is: "+Foo.class.getName());</引用>
某些類別Class的方法會揭露 Java 原始碼中某類別或介面的宣告是否包含<><>在另一個宣告中。 其他方法則描述類別或介面如何被置於 <em>nest</em> 中。 「巢狀」>巢穴是同一執行時套件中一組類別與介面,允許彼此存取其 private 成員。 這些類別和介面被稱為 <em>nestmates</em>。 一位巢友擔任 <母巢>宿主</母馬>,並列舉屬於該巢的其他巢友;每個巢友依序記錄為巢主。 屬於巢狀的類別與介面(包括其主機)會在產生檔案時class決定,例如,Java 編譯器通常會將頂層類別記錄為巢狀的主機,其他成員則是包含在頂層類別宣告中的類別與介面。
某些類別Class的方法會揭露 Java 原始碼中某類別或介面的宣告是否包含<><>在另一個宣告中。 其他方法則描述類別或介面如何被置於 <em>nest</em> 中。 「巢狀」>巢穴是同一執行時套件中一組類別與介面,允許彼此存取其 private 成員。 這些類別和介面被稱為 <em>nestmates</em>。 一位巢友擔任 <母巢>宿主</母馬>,並列舉屬於該巢的其他巢友;每個巢友依序記錄為巢主。 屬於巢狀的類別與介面(包括其主機)會在產生檔案時class決定,例如,Java 編譯器通常會將頂層類別記錄為巢狀的主機,其他成員則是包含在頂層類別宣告中的類別與介面。
1.0 版本新增。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
欄位
| 名稱 | Description |
|---|---|
| CharSequence |
一個 的 |
| Object |
一個 的 |
| String |
一個 的 |
屬性
| 名稱 | Description |
|---|---|
| CanonicalName |
回傳由 <cite>定義的底層類別的典範名稱。The Java Language Specification/cite<>。 |
| Class |
回傳此 |
| ClassLoader |
回傳該類別的載入器。 |
| ComponentType |
回傳代表陣列元件類型的 。 |
| DeclaringClass |
如果該 |
| EnclosingClass |
回傳底層類別的緊接包含類別。 |
| EnclosingConstructor |
如果這個 |
| EnclosingMethod |
若此 |
| GenericSuperclass |
回傳 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| IsAnnotation |
若此 |
| IsAnonymousClass |
當且僅當底層類別是匿名類別時,回傳 |
| IsArray |
判斷此 |
| IsEnum |
當且僅當此類別在原始碼中被宣告為列舉時,才會回傳為真。 |
| IsInterface |
判斷此 |
| IsLocalClass |
當且僅當底層類別是本地類別時,回傳 |
| IsMemberClass |
當且僅當底層類別是成員類別時,會回傳 |
| IsPrimitive |
判斷指定 |
| IsRecord |
當且僅當該類別為記錄類別時,會回傳 |
| IsSealed |
當且僅當此 |
| IsSynthetic |
{ |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
類別 |
| JniPeerMembers |
取得用於調用此 Java 節點成員的 JNI 元資料。 |
| Modifiers |
回傳此類別或介面的 Java 語言修飾符,以整數編碼。 |
| Name |
回傳此 |
| NestHost |
回傳該物件所代表 |
| Package |
他得到了這門課的包裝。 |
| PackageName |
回傳完全限定的套件名稱。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ProtectionDomain |
本類別的退貨 |
| SimpleName |
回傳原始碼中所給的底層類別的簡單名稱。 |
| Superclass |
回傳 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| TypeName |
回傳一個資訊串,表示這個類別或介面的名稱。 |
方法
| 名稱 | Description |
|---|---|
| ArrayType() |
回傳 |
| AsSubclass(Class) |
將此 |
| Cast(Object) |
將物件投射到該 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
類別 |
| DescriptorString() |
回傳由此 |
| DesiredAssertionStatus() |
回傳若在呼叫此方法時初始化該類別時,該類別會被分配的斷言狀態。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
類別 |
| Equals(Object) |
類別 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| ForName(String, Boolean, ClassLoader) |
回傳 |
| ForName(String) |
回傳 |
| FromType(Type) |
回傳指定受管理型別的 Java |
| GetAnnotation(Class) |
回傳該類別對請求型別的註解,或 |
| GetAnnotations() |
回傳此類別中所有的註解。 |
| GetAnnotationsByType(Class) |
回傳與此類別相關的請求型別註解。 |
| GetClasses() |
回傳一個陣列,包含 |
| GetConstructor(Class[]) |
回傳一個 |
| GetConstructors() |
回傳一個陣列,包含 |
| GetDeclaredAnnotation(Class) |
回傳該類別直接宣告的註解,或若不存在該類型 |
| GetDeclaredAnnotations() |
回傳所有直接在此類別上宣告的註解。 |
| GetDeclaredAnnotationsByType(Class) |
回傳直接在此類別上宣告的請求註解。 |
| GetDeclaredClasses() |
回傳一個物件陣列 |
| GetDeclaredConstructor(Class[]) |
回傳 |
| GetDeclaredConstructors() |
回傳一個物件陣列 |
| GetDeclaredField(String) |
回傳 |
| GetDeclaredFields() |
回傳一個物件陣列 |
| GetDeclaredMethod(String, Class[]) |
回傳 |
| GetDeclaredMethods() |
回傳一個陣列,包含 |
| GetEnumConstants() |
回傳該 Enum 類別的元素,若該 Class 物件不代表 enum 類別,則回傳 null。 |
| GetField(String) |
回傳 |
| GetFields() |
回傳一個陣列,包含 |
| GetGenericInterfaces() |
回傳 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetInterfaces() |
回傳由該 |
| GetMethod(String, Class[]) |
回傳 |
| GetMethods() |
回傳一個陣列,包含 |
| GetNestMembers() |
回傳一個陣列,包含 |
| GetPermittedSubclasses() |
回傳一個陣列,包含 |
| GetRecordComponents() |
回傳一個物件陣列 |
| GetResource(String) |
找到一個有名字的資源。 |
| GetResourceAsStream(String) |
找到一個有名字的資源。 |
| GetSigners() |
這班的簽名者。 |
| GetTypeParameters() |
回傳一個物件陣列 |
| InvokeComponentType() |
如果描述的是陣列類型,則回傳元件 |
| IsAnnotationPresent(Class) |
判斷此類別中是否存在所請求類型的註解。 |
| IsAssignableFrom(Class) |
判斷此 |
| IsInstance(Object) |
判斷指定 |
| IsNestmateOf(Class) |
判斷給定 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| NewInstance() |
建立由此 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
類別 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToGenericString() |
回傳一個描述此事的 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
類別 |
| IJavaPeerable.Finalized() |
類別 |
| IJavaPeerable.JniObjectReferenceControlBlock |
類別 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
類別 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
類別 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
類別 |
| IJavaPeerable.UnregisterFromRuntime() |
類別 |
| ITypeDescriptor+IOfField.ComponentType() |
回傳此欄位類型的元件類型描述符。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
類別 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |