欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

工廠方法的優缺點

林子帆2年前23瀏覽0評論

工廠方法的優缺點?

優點

1. 和構造方法不一樣,靜態工廠方法可以有自己明確的名字。比如newInstance、getInstance、valueOf,可以更明確知道這些方法名字的意思。而構造方法只能通過new類名來創建,比如Person person = new Person()。

2. 不必沒次調用時都創建一個新對象。使用靜態工廠方法對外提供單例,其實就是提前準備好實例,這樣可以重復利用,減少重復創建實例,不過這也需要注意線程安全問題。

3. 可以返回原返回類型的任何子類的對象。這個可以這么理解,例如EnumSet類,EnumSet是抽象類是不能被實例化的,但是可以通過里面的noneOf靜態工廠方法返回它子類的對象,RegularEnumSet和JumboEnumSet都是EnumSet的子類,代碼如下:

public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E>

implements Cloneable, java.io.Serializable {

EnumSet(Class<E>elementType, Enum[] universe) {}

public static <E extends Enum<E>> EnumSet<E> noneOf(Class<E> elementType) {

if (universe.length <= 64)

return new RegularEnumSet<>(elementType, universe);

else

return new JumboEnumSet<>(elementType, universe);

}

}

4.在創建參數化類型實例的時候,它們使代碼變得更加簡潔。這條可以這么理解,比如在創建一個Map類型對象時,我們一般可以這么創建:

Map<String, List<String>> m = new HashMap<String, List<String>>();

但是在JDK7以上的版本,泛型參數是可以被推導出來的,所以可以有更簡潔的寫法:

Map<String, List<String>> m = new Hash

java map list,工廠方法的優缺點