Java中創建對象有兩種方式:使用類的構造器或者使用靜態工廠方法。Java的new操作符就是使用類的構造器創建對象的方法,它的語法形式為:
類名 對象名 = new 類名();
這里的“類名”就是你想創建對象的類名,“對象名”是你所創建的對象的變量名。使用上述語句,就可以實例化一個對象。
按照上述方法創建的對象都是動態創建的。然而在Java中,還有一種創建對象的方法,就是使用靜態工廠方法。靜態工廠方法是一種靜態的方法,它返回某個類的對象。
下面是一個使用靜態工廠方法創建對象的例子:
public class Cat { private String name; private String breed; public static Cat createCat(String name, String breed) { Cat myCat = new Cat(); myCat.setName(name); myCat.setBreed(breed); return myCat; } public void setName(String name) { this.name = name; } public void setBreed(String breed) { this.breed = breed; } public String getName() { return this.name; } public String getBreed() { return this.breed; } }
上面的代碼中,我們定義了一個Cat類和一個靜態工廠方法createCat()。這個方法接受name和breed兩個參數,然后動態的創建一個Cat對象,設定它的屬性,并將這個對象返回。
這么做的好處在于,我們可以在不使用new操作符的情況下創建一個對象。我們只需要調用靜態工廠方法就可以了。而且,靜態工廠方法可以返回任何類型的對象,這樣就可以實現更加靈活的對象創建方式。
總而言之,Java的類可以通過new關鍵字創建對象或者通過靜態工廠方法創建對象。不同的場景下,我們可以選用不同的方式來創建對象,以滿足我們的需求。