面朝大海,春暖花開

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            12 Posts :: 1 Stories :: 3 Comments :: 0 Trackbacks

          本文是《 JAVA 編程思想》第四章的讀書筆記

          ?

          一、 用構(gòu)造函數(shù)初始化

          1.1、?? 函數(shù)的簽名和返回值

          構(gòu)造函數(shù)可以通過不同的函數(shù)簽名來進(jìn)行重載。構(gòu)造函數(shù)沒有返回值,這和返回值為 void 的是不同的

          1.2、?? 構(gòu)造函數(shù)的重載

          如何區(qū)分構(gòu)造函數(shù)的不同呢,用不同的函數(shù)簽名。函數(shù)簽名的順序不同都可以,但是這樣的編程風(fēng)格是不好的。

          函數(shù)的簽名會(huì)上升轉(zhuǎn)型(當(dāng)沒有合適的函數(shù)簽名出現(xiàn)的時(shí)候),但是不會(huì)窄化轉(zhuǎn)型,你必須要顯示的進(jìn)行強(qiáng)制類型轉(zhuǎn)換。

          不能以 return value 的不同作為重載的標(biāo)準(zhǔn)。

          當(dāng)程序提供了構(gòu)造函數(shù)以后,系統(tǒng)就不在提供默認(rèn)的構(gòu)造函數(shù)了。

          This 關(guān)鍵字指的是當(dāng)前對(duì)象,有了 this 后,可以在構(gòu)造函數(shù)中以如下的方式調(diào)用

          Class?A? {
          ????A?()?
          {…}
          ????A(
          int ?a, char ?b)? {…?}
          ????A(
          int ?a, char ?b, float ?c)? {
          ????????This(a,b);?
          // 注意:只能調(diào)用一次
          ????}

          }

          1.3、?? Static 的含義

          你無法在 static 函數(shù)中調(diào)用 non-static 函數(shù),但是你可以在 non-static 中調(diào)用 static 函數(shù)。

          二、 類的清理

          JAVA 的垃圾回收機(jī)制只能回收 new 出來的對(duì)象,但是你的對(duì)象不是 new 出來的而獲得的“特殊”內(nèi)存,那么 JAVA 的垃圾回收就不能處理,這樣就必須用 finalize() 函數(shù)來釋放你的“特殊”內(nèi)存。

          JAVA 的清理方式是先調(diào)用你的 finalize() ,然后在下次垃圾回收的時(shí)候來清理你的“特殊”內(nèi)存。

          關(guān)鍵的三句話:

          垃圾回收不等于析構(gòu);

          你的對(duì)象可能不被回收;

          垃圾回收動(dòng)作只回收內(nèi)存。

          System.gc() 可以用來強(qiáng)迫終結(jié)動(dòng)作的發(fā)生

          posted on 2006-04-09 16:17 面朝大海 閱讀(284) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 林周县| 荔浦县| 建平县| 平阳县| 舟山市| 肥西县| 平昌县| 渝北区| 白沙| 岑巩县| 庆安县| 浦东新区| 九江市| 博兴县| 虞城县| 梁平县| 龙南县| 常山县| 孟津县| 来安县| 迁西县| 武功县| 宜阳县| 元江| 大悟县| 红桥区| 信宜市| 辽阳县| 永善县| 涿鹿县| 菏泽市| 武定县| 大兴区| 修水县| 沙坪坝区| 新源县| 阿鲁科尔沁旗| 平湖市| 莒南县| 雅江县| 南宁市|