語言

Class.NewInstance 方法

定義

建立由此 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 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於