神秘的 J2ee 殿堂

          ·古之學(xué)者必有師·做學(xué)者亦要做師者·FIGHTING·

          java基礎(chǔ)(持續(xù)更新中)

          資料收集于互聯(lián)網(wǎng)(如有不妥,請告之)、個人心得。

          1.默認的浮點類型是雙精度(double),要想要一個float必須在浮點數(shù)后面加F或者f。如:float pi = 3.14;是錯誤的

          2.浮點型轉(zhuǎn)化為整型時,不進行四舍五入,直接截斷小數(shù)點后面的數(shù).Java的類型檢查很嚴格,從低精度轉(zhuǎn)換到高精度是無須顯式轉(zhuǎn)換的,double d = 123;。但是反過來,進行窄化轉(zhuǎn)換,由高精度向低精度,或者一種類型到另一種類型,則必須使用強制類型轉(zhuǎn)化。

          3.在數(shù)組聲明中包含數(shù)組長度永遠是不合法的!如:int[5] arr; 。因為,聲明的時候并沒有實例化任何對象,只有在實例化數(shù)組對象時,JVM才分配空間,這時才與長度有關(guān)。

          4.對象類型的數(shù)組雖然被默認初始化了,但是并沒有調(diào)用其構(gòu)造函數(shù)。也就是說:Car[] myCar = new Car[10];只創(chuàng)建了一個myCar數(shù)組對象!并沒有創(chuàng)建Car對象的任何實例!這與單純的new一個對象不同!單個的new對象時,就會調(diào)用相應(yīng)的構(gòu)造函數(shù)。

          5.數(shù)組有l(wèi)ength屬性,字符串有l(wèi)ength()方法

          6.String中的每個字符都是一個16位的Unicode字符,用Unicode很容易表達豐富的國際化字符集,比如很好的中文支持。char中可以保存一個中文漢字,應(yīng)為char也是一個16位的Unicode字符度為0。

          8.String對象是不變的!可以變化的是String對象的引用。

          9.String的不變性的機制顯然會在String常量內(nèi)有大量的冗余。如:"1" + "2" + "3" +......+ "n" 產(chǎn)生了n+(n+1)個String對象!因此Java為了更有效地使用內(nèi)存,JVM留出一塊特殊的內(nèi)存區(qū)域,被稱為“String常量池”。對 String多么照顧啊!當編譯器遇見String常量的時候,它檢查該池內(nèi)是否已經(jīng)存在相同的String常量。如果找到,就把新常量的引用指向現(xiàn)有的 String,不創(chuàng)建任何新的String常量對象。

          10.java中的對象是在堆中被創(chuàng)建的(new),但常量類的String有點特別!像“haha”這樣的字符串根據(jù)第9條是存放在String常量池的,而String s=new String("haha");確實在堆中被創(chuàng)建的。

          11.throw和throws關(guān)鍵字。throw用在方法體中拋出異常,后面是一個具體的異常對象。throws用在方法參數(shù)列表括號的后面,用來聲明此方法會拋出的異常種類,后面跟著一個異常類。

          12.要把相應(yīng)的System.out和System.err信息輸入到文件中。代碼:
                  try   {
                      System.out.println(
          "沒上");
                      System.setOut(
          new   PrintStream(new   FileOutputStream(new   File( "c:/test.txt "))));
                      System.out.println( 
          "haha ");
                      System.out.println(
          "error");
                  }   
          catch   (Exception   e)   {
                      e.printStackTrace();
                  }
          err的吧setOut改為setErr就可以了。

          13.為一個接口提供缺省實現(xiàn),便于子類有選擇從這個缺省實現(xiàn)進行擴展.而不必對原有接口所有方法進行實現(xiàn),哪怕是空實現(xiàn).

          interface 窗口{
          public void 關(guān)閉();
          public void 移動();
          public ovid 最大化();

          }
          //-----------------------------------------
          Frame implements 窗口{//不用適配器
          public void 關(guān)閉(){
          System.out.println(
          "關(guān)閉窗口");
          }
          public void 移動()[
          }
          public ovid 最大化(){
          }
          }
          //運用適配器-------------------------------
          public abstract Frame implements 窗口{
          public void 關(guān)閉(){
          }
          public void 移動(){
          }
          public ovid 最大化(){
          }
          }

          public CloseFrame extends Frame{
          public void 關(guān)閉(){
          System.out.println(
          "關(guān)閉窗口");

          }
          }



          posted on 2007-11-04 22:03 月芽兒 閱讀(302) 評論(0)  編輯  收藏 所屬分類: J2EE學(xué)習(xí)摘錄

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 枣阳市| 顺平县| 阿瓦提县| 上饶市| 平山县| 黄冈市| 蕉岭县| 桃源县| 加查县| 墨竹工卡县| 乡城县| 阳新县| 漠河县| 客服| 台中县| 邵阳市| 成安县| 集贤县| 沂水县| 富平县| 任丘市| 静安区| 凤庆县| 汉中市| 阳江市| 宜川县| 江陵县| 柏乡县| 衡水市| 石屏县| 吉首市| 兴国县| 龙口市| 阳原县| 清涧县| 靖安县| 贞丰县| 宁远县| 敦煌市| 开封县| 搜索|