Class.NewInstance 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立由此 Class 物件所代表類別的新實例。
[Android.Runtime.Register("newInstance", "()Ljava/lang/Object;", "")]
public Java.Lang.Object NewInstance();
[<Android.Runtime.Register("newInstance", "()Ljava/lang/Object;", "")>]
member this.NewInstance : unit -> Java.Lang.Object
傳回
這是該物件所代表類別的新分配實例。
- 屬性
例外狀況
如果預設構造子不可見。
如果該實例無法被建立。
備註
建立由此 Class 物件所代表類別的新實例。 該類別的實例化方式就像用 new 一個帶有空參數列表的表達式。 若類別尚未初始化,則即被初始化。
此會員已被棄用。 此方法會傳播由零構造子拋出的任何例外,包括已檢查的例外。 使用此方法實際上繞過了編譯器原本會執行的編譯時異常檢查。 此 java.lang.reflect.Constructor#newInstance(java.lang.Object...) Constructor.newInstance 方法透過將建構子拋出的任何例外包裹在(已檢查) java.lang.reflect.InvocationTargetException中來避免此問題。
<p>通話
<前>clazz.newInstance()</前>
可以替換為
<前>clazz.getDeclaredConstructor().newInstance()</前>
後者的呼叫序列被推斷能拋出額外的例外類型 InvocationTargetException 和 NoSuchMethodException。 這兩種例外類型都是 的 ReflectiveOperationException子類。
Java 文件 java.lang.Class.newInstance()。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。