effective Java 1 使用靜態工廠方法代替構造器
jdk Boolean類的原始碼:
public final class Boolean implements java.io.Serializable,
Comparable<Boolean> {
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
}
優勢:
1.靜態方法有名稱,可以自己設定有意義名稱,讓別人通過方法名就可以知道如何使用該方法
2.不用每次呼叫它都新建一個物件,浪費記憶體
因為這個例項在類載入後就形成了,屬於類,不屬於物件
3.他們可以返回原返回型別的任何子型別的物件
4.建立引數化型別例項的時候,可以使程式碼變得更加簡潔
相關推薦
Java中用靜態工廠方法代替構造器的優缺點
Effective Java學習筆記,靜態工廠方法的善用。 一般情況下,對於類而言,我們獲取一個類的例項時,最常用的方法是提供一個公有的構造器。 但是還有一種方法,類可以提供一個公有的靜態工廠方法,它只是個返回類的例項的靜態方法而已。但是靜態工廠方法卻又許多妙用之處。
讀書筆記-《Effective Java》第1條:考慮用靜態工廠方法代替構造器
優勢 它們有名稱 構造器沒有名稱, 當一個類有多個構造器的時候就不容易分清楚哪個是自己想要的。 不必在每次呼叫它們的時候都建立一個新物件 如果新建立的物件的成員屬性是可以重用的, 那麼可以先把第一次建立的物件儲存起來,以後想用的時候就不用
effective Java 1 使用靜態工廠方法代替構造器
jdk Boolean類的原始碼:public final class Boolean implements java.io.Serializable, Comparable<Boolean> { public static final
【Effective Java讀書筆記】創建和銷毀對象(一):考慮使用靜態工廠方法代替構造器
返回對象 boolean 簡化 將不 其他 種類型 bigint color pre 類可以提供一個靜態方法,返回類的一個靜態實例,如Boolean包裝類的一個獲取實例的靜態方法 1 public static Boolean valueOf(boolean b) { 2
Effective Java-考慮用靜態工廠方法代替構造器
public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } //使用構造器 Boolean b1 = new Boolean(true); //使用靜態工廠方
[Effective Java]考慮用靜態工廠方法代替構造器
本文主要介紹如何使用靜態工廠方法已經在那種場合來使用這種方式代替構造方法。 眾所周知,對於類而言,我們為了獲得一個類的例項物件,通常情況下會提供一個公有的(public) 的構造器。當然
Effective Java 學習筆記 使用靜態工廠方法代替構造器
什麼是使用靜態工廠方法代替構造器:建立一個靜態方法,返回值是類的例項 使用靜態工廠方法的好處總結: 1.可以隱藏構造方法,把控物件的建立。可以讓物件是單例,複用已經有的物件,比如Boolean public static final Boolean TRUE = new
effective java 3th item1:考慮靜態工廠方法代替構造器
傳統的方式獲取一個類的例項,是通過提供一個 public 構造器。這裡有技巧,每一個程式設計師應該記住。一個類可以對外提供一個 public 的 靜態工廠方法 ,該方法只是一個樸素的靜態方法,不需要有太多複雜的邏輯,只需要返回該類的例項。 這裡通過 Boolean (是原始型別 boolean 的包裝類)舉
Java物件學習之建立物件——使用靜態工廠方法代替構造器缺點
最近學習Android知識,發現Java好多的基礎知識運用的真的很一般,所以決定在重新梳理一下,現在Kotlin也來了,在Android之路上,留給我看Java的時間不多了。 靜態我們就來簡單介紹一下,使用靜態工廠方法建立物件相較於構造器建立的物件的優缺
Java物件學習之建立物件——使用靜態工廠方法代替構造器優點(四)
最近學習Android知識,發現Java好多的基礎知識運用的真的很一般,所以決定在重新梳理一下,現在Kotlin也來了,在Android之路上,留給我看Java的時間不多了。 靜態我們就來簡單介紹一下,使用靜態工廠方法建立物件相較於構造器建立的物件的優缺
Java物件學習之建立物件——使用靜態工廠方法代替構造器優點(二)
最近學習Android知識,發現Java好多的基礎知識運用的真的很一般,所以決定在重新梳理一下,現在Kotlin也來了,在Android之路上,留給我看Java的時間不多了。 靜態我們就來簡單介紹一下,使用靜態工廠方法建立物件相較於構造器建立的物件的優缺
Java物件學習之建立物件——使用靜態工廠方法代替構造器優點(一)
最近學習Android知識,發現Java好多的基礎知識運用的真的很一般,所以決定在重新梳理一下,現在Kotlin也來了,在Android之路上,留給我看Java的時間不多了。 靜態我們就來簡單介紹一下,使用靜態工
第1條:考慮採用靜態工廠方法代替構造器
第1條:考慮採用靜態工廠方法代替構造器 對類而言,為了讓客戶端獲取它自身的一個例項,最常用的方法就是提供一個公有的構造器。還有一種應該被程式設計師重視的方法:類提供一個公有的靜態工廠方法(static factory method),它只是一個返回類的例項的靜態方法。下面是來自Boolean(基本型別boo
EffectiveJava讀書筆記- 第1條:考慮用靜態工廠方法代替構造器
考慮靜態工廠方法代替構造器 靜態工廠方法相對於構造器的好處: 1. 靜態工廠方法有名字,相比構造器建立的物件更語義化 最好的例子就是併發庫中的Executors工具類了。 Executors中有多個建立執行緒池的方法: public static
1. 【建立與銷燬物件】考慮用靜態工廠方法代替構造器
本文內容為《Effective Java》的讀書筆記。 對於某一個類,要獲取其物件,通常是使用共有的構造方法new一個。其實還有另一種方法也是經常用到的,那就是靜態工廠方法。 (注:此處的靜態工廠方法不同於工廠模式) 舉個例子: public static Int
1、用靜態工廠方法代替構造器
一、客戶端獲取類的一個例項,有兩種解決方案 最傳統的方法就是提供一個公有的構造器。 類提供一個公有的靜態工廠方法,返回一個類的例項的靜態方法。 二、靜態工廠方法的優點 1、有方法名,可讀性強 不同的靜態工廠方法,有自己的專屬名稱。如果構造器的引數本身沒有確切地描述正被返回的物件,那麼具有名稱的靜態工廠方
EffectiveJava讀書筆記——考慮用靜態工廠方法代替構造器(一)
無法 父類 應該 樹結構 對象 如何 log 筆記 工廠類 參考網址:http://blog.csdn.net/mingyunduoshou/article/details/6149758 http:[email protect
用靜態工廠方法代替構造器、遇到多個構造器參數時要考慮用構建器
泛型 不用 推斷 frame public 多參數 eof ram api 一、用靜態工廠方法代替構造器 類通過共有的構造方法可以提供很大的優點:1、構造方法可一有不同的名字,我們可以通過名字區分構造什麽樣子的對象,而構造器名字相同,當參數列表的數目相同 順序不同時 很大的
Tips1:考慮用靜態工廠方法代替構造器
用靜態工廠方法來代替構造器為外界提供物件 描述: 靜態工廠方法代替構造器來給外界提供物件,建立物件依然是由構造器來完成的 建立物件和提供物件: 建立物件的方式: 構造器 提供物件來哦方式: 構造器 類中公有的靜態方法 一般在使用靜態工廠方法時,會根據方法的需要提供private的構造器 靜
01、考慮用靜態工廠方法代替構造器
優點 1. 有名稱,當一個類需要多個帶有相同引數的構造器時,就可以用靜態工廠方法代替構造器,並且慎重地選擇名稱以便突出它們之間的區別 例如下邊的有關汽車的類,可以使用三個靜態工廠方法返回不同的汽車 public class Car { private String nam