java.lang.Class.newInstance()方法範例


java.lang.Class.newInstance() 建立此Class物件所表示類的新範例。該類由一種新的表達與空引數列表範例。如果它尚未被初始化的類初始化。

宣告

以下是java.lang.Class.newInstance()方法的宣告

public T newInstance() throws InstantiationException, IllegalAccessException

引數

  • NA

返回值

此方法返回當前物件表示類的一個新分配的範例。

異常

  • IllegalAccessException -- 如果類或它的無參建構函式是無法存取的。

  • InstantiationException -- 如果這個類表示一個抽象類,介面,陣列類,基本型別,或無效;或者如果類沒有無參建構函式;或者如果所述範例化操作由於某些其他原因。

  • ExceptionInInitializerError -- 如果用這種方法引起的初始化失敗。

  • SecurityException -- 如果安全管理存在。

例子

下面的例子顯示java.lang.Class.newInstance()方法的使用。

package com.yiibai;

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 2014
Time = Tue Oct 23 16:09:55 MST 2014