最近小編在看書,想多讀點書,加多點肚子裡的墨水,好提高下自己的編碼水平,所以本來從不喜歡讀書的我,就拿起了書本,這不,剛看兩個條目,就有耳目一新的感覺,也為工作上帶來了便利。
題外話多了,那麼下面,就給大家介紹下三種實例化的方法吧。
構造方法
JDK的實例化方式,或許大家都習慣用這種方式多吧,這就不多說了,直接上代碼
- People類
![「Java」從Bean類實例化開始,增強自己代碼的可讀性](http://p2.ttnews.xyz/loading.gif)
People類
- 調用
People people = new People();
People people = new People(58.4, 178.0);
People people = new People(58.4, 178.0, 25);
People people = new People(58.4, 178.0, 25, "programer");
靜態工廠類
這個方式的優點書上列了四項:
- 它們有名稱,可以區分實例化的情況
- 不必每次調用它們的時候都創建一個新的對象
- 它們可以返回原返回類型的任何子類型的對象
- 在創建參數化類型實例的時候,它們使代碼變得更加簡潔
但是也列出了兩個缺點:
- 類如果不含公有的或者受保護的構造器,就不能被子類化
- 它們與其他的靜態方法實際上沒有任何區別
- People類
![「Java」從Bean類實例化開始,增強自己代碼的可讀性](http://p2.ttnews.xyz/loading.gif)
People類
- 調用
People people = People.getInstance();
People people = People.getWHInstance(58.4, 178.0);
People people = People.getWHAInstance(58.4, 178.0, 25);
People people = People.getInstance(58.4, 178.0, 25, "programer");
構建器
相比較於之前的方式,這種方式讓人覺得很巧妙(額,這個小編是這麼覺得的)。
不妨來了解下這樣的場景,在私有變量比較多的情況下:
- 如果使用構造器,那麼我們就需要傳入一長串的參數,靜態工廠類亦然
- 如果你不介意那一長串的參數,那麼你也會在傳參的時候需要慢慢細讀“第幾位的參數對應哪一個私有變量”
那麼怎麼樣的方式可以解決這種場景呢?請看以下代碼:
- People類
在私有變量比較多的情況下
People類
- 調用
People people = People.getInstance().weight(58.4).height(178.0).age(25).job("programer");
第三種方式,小編並沒有按照書上所寫的那種方式編寫,而是以構建器的思路自己的編碼方式來展示,小編覺得更加簡潔易懂。
另外呢,小編的水平有限,如果哪裡寫得不對,歡迎大家指出,同時,如果喜歡小編寫的文章,也歡迎大家點一波關注,謝謝。
閱讀更多 Kuey的Java全棧日記 的文章