2017-04-12 103 views
-5

我試圖在這裏和Web上找到它,但是我不能。在java中「創建」是什麼意思

我在代碼是這樣的:

private static myClassName create(listOfArguments) {} 

它看起來對我來說就像是myClassName構造函數,但正常的構造看起來有點不同。這究竟是什麼創建的意思,它是什麼?

+5

它意味着任何你想要它的意思,儘管爲了清晰起見,它可能是最好的,如果它創建的東西 – harold

+0

它取決於括號內的東西,你照顧削減:-) – Sebas

+0

這是你的方法的名稱向我們展示。其含義是:http://www.dictionary.com/browse/create – David

回答

1

這不是別的,而是一種可能在內部調用構造函數的私有「工廠」方法。

Optional.of()但只是:私人

含義;

MyClass whatever = new MyClass(args ... 

使用這種方法,你可以寫

MyClass whatever = create(args ... 

這是所有有這樣的:通常你會如編寫代碼。

這個一個好理由我看到有這樣一個方法:避免代碼重複。當你的代碼中有10條新語句時,那麼就意味着觸及10條線。當你有這個創建方法時,可以在該方法中包含一些更改。儘管如此;有一個靜態私人工廠方法是一個相當不常見的,令人驚訝的模式。

0

這只是其中create是出了名的方法,myClassName是返回類型和privatestatic - 訪問修飾符

1

create這裏是一個方法名。

有一個叫模式Factory methodhttps://en.wikipedia.org/wiki/Factory_method_pattern,看起來像這樣:

public class MyClass { 
    private MyClass(String arg) { 
     // ... init 
    } 

    public static create(String arg) { 
     return new MyClass(arg); 
    } 
} 

這可能是有用的,如果你必須有(或希望有)一個「適合所有的情況下,構造」(例如,集中您的施工代碼)。它可能不是使用這種通用的構造很方便,所以你可以創建一些工廠方法:

public class StringOrDate { 
    private final String string; 
    private final Date date; 

    private StringOrDate(String string, Date date) { 
     this.string = string; 
     this.date = date; 
    } 

    pubilc static createString(String string) { 
     return new StringOrDate(string, null); 
    } 

    pubilc static createDate(Date date) { 
     return new StringOrDate(null, date); 
    } 
} 
0

正如其他人所指出的,create有Java的任何特殊的意義 - 這僅僅是一個普通的方法。在這種情況下,該方法什麼都不做,甚至不會編譯,因爲它不返回它需要返回的類型,但它仍然只是一個普通的方法。