Java-lang-class-newinstance

提供:Dev Guides
移動先:案内検索

Java.lang.Class.newInstance()メソッド

説明

  • java.lang.Class.newInstance()*は、このClassオブジェクトによって表されるクラスの新しいインスタンスを作成します。 クラスは、空の引数リストを持つ新しい式によってインスタンス化されます。 クラスは、まだ初期化されていない場合は初期化されます。 .

宣言

以下は* java.lang.Class.newInstance()*メソッドの宣言です

public T newInstance() throws InstantiationException, IllegalAccessException

パラメーター

NA

戻り値

このメソッドは、このオブジェクトによって表されるクラスの新しく割り当てられたインスタンスを返します。

例外

  • IllegalAccessException -クラスまたはそのnullaryコンストラクターにアクセスできない場合
  • InstantiationException -このクラスが抽象クラス、インターフェース、配列クラス、プリミティブ型、またはvoidを表す場合;または、クラスにnullaryコンストラクターがない場合。または、他の何らかの理由でインスタンス化が失敗した場合。
  • ExceptionInInitializerError -このメソッドによって引き起こされた初期化が失敗した場合。
  • SecurityException -セキュリティマネージャーsが存在する場合。

次の例は、java.lang.Class.newInstance()メソッドの使用法を示しています。

package com.finddevguides;

import java.util.*;
import java.lang.*;

public class ClassDemo {

   public static void main(String[] args) {

      try {
        //date object
         Date d = new Date();
         Class cls = d.getClass();
         System.out.println("Time = " + d.toString());

        /*creates a new instance of the class represented by this
            Class object cls*/
         Object obj = cls.newInstance();
         System.out.println("Time = " + obj);
      } catch(InstantiationException e) {
         System.out.println(e.toString());
      } catch(IllegalAccessException e) {
         System.out.println(e.toString());
      }
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

Time = Tue Oct 23 16:09:55 MST 2012
Time = Tue Oct 23 16:09:55 MST 2012