2017-06-05 129 views
0

在VBScript(和VBA/VB6)有一個叫做CreateObject在java中是否有「createObject」?

像這樣的功能:

Dim ExcelApp As Object 
Set ExcelApp = CreateObject("Excel.Application") 

上面的代碼建立了Excel.Application類,的一個實例,而不需要早對接參考Excel類型庫。

在Java中有什麼可比的嗎?

+3

是的,它的名字叫做'new' –

+0

據我所知,在Java中,我們用'new'關鍵字來創建一個類的對象。 EX:'Scanner sc = new Scanner(System.in)' –

+0

還有一個[newInstance](https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#newInstance ())方法: –

回答

3

有四種不同的方式(我真的不知道有沒有第五種方式來做到這一點)來創建Java對象:

  1. 使用new關鍵字 這是創建最常見的方式java中的一個對象。我在某處讀到幾乎99%的對象是以這種方式創建的。

    MyObject object = new MyObject(); 
    
  2. 使用Class.forName() 如果我們知道類&的名字,如果它有一個公共的默認構造函數,我們可以創建這樣一個對象。

    MyObject object = (MyObject) Class.forName("subin.rnd.MyObject").newInstance(); 
    
  3. 使用克隆() 克隆()可被用於創建現有對象的副本。

    MyObject anotherObject = new MyObject(); 
    MyObject object = anotherObject.clone(); 
    
  4. 使用對象序列化 對象序列化是什麼,但創建其序列化形式的對象。

    ObjectInputStream inStream = new ObjectInputStream(anInputStream); 
    MyObject object = (MyObject) inStream.readObject(); 
    

現在你知道如何創建一個對象。但建議只在有必要時才創建對象。

https://javabeanz.wordpress.com/2007/09/13/different-ways-to-create-objects/