• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            asm, c, c++ are my all
            -- Core In Computer
            posts - 139,  comments - 123,  trackbacks - 0

            ??? 類可以提供一個公有的靜態(tài)工廠方法,它用來返回這個類的實(shí)例,從而可以構(gòu)造這個類的對象。

            靜態(tài)工廠方法的好處:

            1. 它與構(gòu)造函數(shù)不同,靜態(tài)工廠方法具有名字。這個好處可以幫助我們擺脫一個類只能有一個原型相同的構(gòu)造函數(shù)的限制。舉個例子來說:

            public class A

            {

            pubilc int sum=0;

            public int div=0;

            public A(int a,int b)

            {

            sum=a+b;

            // 利用 a b 在這里初始化 A 的實(shí)例

            }

            ?

            public A(int a,int b)????????? // 明顯的錯誤

            {

            div=a/b;

            }

            }

            就像上面代碼所示,這么做是絕對不可能的,構(gòu)造函數(shù)的簽名只在參數(shù)上進(jìn)行區(qū)分,如果我們想用同一種參數(shù)實(shí)現(xiàn)不同的構(gòu)造函數(shù),那么構(gòu)造函數(shù)的局限性就肯定了它是做不到的。但是我們可以利用靜態(tài)工廠方法來輕松解決這個問題:

            public class A

            {

            public int sum=0;

            public int div=0;

            public static A Sum(int a,int b)

            {

            A a1=new A();

            a1.sum=a+b;

            return a1;

            }

            public static A Div(int a,int b)

            {

            A a1=new A();

            a1.div=a/b;

            return a1;

            }

            }

            很明顯,我們可以用相同的參數(shù)來構(gòu)造不同的對象了,如:

            A a1=A.Sum(5,5);

            A a2=A.Div(5,5);

            我們做了什么一幕了然。當(dāng)然這個例子可能有些不倫不類,但是在這里僅僅想說明這個問題,很極端但是很明確。

            1. 靜態(tài)工廠方法每次被調(diào)用的時候,不要求非得創(chuàng)建一個新的對象。有的時候我們僅僅需要這個類所表示某些項(xiàng),但是不需要這個類的實(shí)例,那么靜態(tài)工廠方法可以很好的滿足這個要求。
            2. 靜態(tài)工廠方法可以返回一個原返回類型的子類型的對象。

            靜態(tài)工廠方法的缺點(diǎn):

            1. 類如果不含公有的或者受保護(hù)的構(gòu)造函數(shù),就不能被子類化。對于公有的靜態(tài)工廠所返回的非公有類,也是同樣的。如果一個類沒有共有的或者受保護(hù)的構(gòu)造函數(shù),那么這個類就不能被繼承。
            2. 靜態(tài)工廠方法與其他的靜態(tài)方法沒有任何區(qū)別。 API 文檔中,它們不會像構(gòu)造函數(shù)那樣被明確標(biāo)識出來。
            posted on 2006-10-18 23:11 Jerry Cat 閱讀(1499) 評論(2)  編輯 收藏 引用

            FeedBack:
            # re: 創(chuàng)建和銷毀對象--考慮用靜態(tài)工廠方法代替構(gòu)造函數(shù)
            2006-10-18 23:13 | Jerry Cat
            不知here有沒有南京的兄弟, 我以前南京的一個同學(xué)趙小姐要我?guī)兔Πl(fā)個租房消息, 某雖不懂但老同學(xué)的事也不好推, 將就如下:

            現(xiàn)有位于南京市江寧區(qū)"武夷花園"小區(qū)的三室一廳住房一套, 水,電,氣齊全, 室內(nèi)有熱水器, 電視機(jī)及床, 衣柜等簡單家具. 整租, 與人合租均可. 聯(lián)系人: 趙小姐 電話:025-83909202  回復(fù)  更多評論
              
            # re: 創(chuàng)建和銷毀對象--考慮用靜態(tài)工廠方法代替構(gòu)造函數(shù)
            2008-07-20 10:44 | xuxiaoguang
            public class A

            {

            pubilc int sum=0;

            public int div=0;

            public A(int a,int b)

            {

            sum=a+b;

            // 利用 a 和 b 在這里初始化 A 的實(shí)例

            div=a/b; //實(shí)際上參數(shù)個數(shù)和類型相同,就可以使用同一個構(gòu)造函數(shù)

            }


            }

              回復(fù)  更多評論
              

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理



            <2006年6月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久久国产精品美女| 亚洲国产一成久久精品国产成人综合| 国产午夜精品理论片久久| 国产国产成人精品久久| 久久亚洲欧美日本精品| 伊人久久精品影院| 99久久www免费人成精品| 久久噜噜久久久精品66| 久久亚洲AV成人无码软件| 四虎影视久久久免费观看| 婷婷久久五月天| 亚洲香蕉网久久综合影视| 国产福利电影一区二区三区久久久久成人精品综合 | 青青青青久久精品国产| 丁香狠狠色婷婷久久综合| 久久伊人五月丁香狠狠色| 青青久久精品国产免费看| 久久国产亚洲精品无码| 久久99精品国产自在现线小黄鸭| 7国产欧美日韩综合天堂中文久久久久| 国产免费久久精品99re丫y| 青青热久久综合网伊人| 久久99国内精品自在现线| 好久久免费视频高清| 亚洲国产精品久久66| 精品国产一区二区三区久久久狼| 久久996热精品xxxx| 久久AV无码精品人妻糸列| 国产人久久人人人人爽| 久久婷婷是五月综合色狠狠| 91精品国产91久久久久福利| 久久综合九色综合网站| 久久有码中文字幕| 久久毛片一区二区| 亚洲国产精品一区二区三区久久| 国产麻豆精品久久一二三| 久久久久久久综合狠狠综合| 久久婷婷是五月综合色狠狠| 亚洲av日韩精品久久久久久a| 国产精品毛片久久久久久久| 日韩美女18网站久久精品|