把80G移動(dòng)硬盤(pán)拆開(kāi)裝到了筆記本里,把筆記本原有的40G硬盤(pán)又做成了移動(dòng)硬盤(pán),爽,筆記本空間大了一倍,終于可以分個(gè)15G給Feroda了。

          Chapter 9 Abstract Classes and Interfaces

          1. 接口的實(shí)現(xiàn) (implementing interfaces)
          public class XXX [extends XXX] implements XXX[, XXX, XXX, ...]
          然后具體地實(shí)現(xiàn)接口中的抽象方法。

          2. 接口和抽象類
          接口中的數(shù)據(jù)必須都是常量,抽象類則可任意;
          接口中的方法僅含有一個(gè)簽名(signature),抽象類可以有具體的方法。
          由于接口中所有的數(shù)據(jù)都是final static,方法都是public abstract,因此修飾符均被省略。
          public interface T1 {
          int k = 1;
          void p();
          }

          類和接口都可以繼承多個(gè)接口,但接口不能繼承類
          和抽象類一樣,盡管接口不能被構(gòu)造,但仍然可以作為數(shù)據(jù)類型用,并被造型(cast)為它的子類(子接口)。
          決定究竟使用類還是接口,要根據(jù)關(guān)系判斷是 strong is-a 還是 is-kind-of。類用在有明確的繼承關(guān)系的父子類上,如公司職員和人;接口多用于wesk-is-a關(guān)系,或者說(shuō)is-kind-of關(guān)系,即對(duì)象僅僅擁有某個(gè)特性,比如String類可以比較大小,因此繼承了Comparable接口。
          容易發(fā)現(xiàn),類名都是名詞,而接口則為名詞或形容詞。

          3. 標(biāo)記接口 marker interface
          不包含數(shù)據(jù)或方法的接口稱為標(biāo)記接口,一般用來(lái)標(biāo)記具有某種特性的類。
          如 java.lang.Cloneable
          public interface Cloneable {
          }
          用來(lái)標(biāo)記這個(gè)類能不能使用clone()方法被復(fù)制
          關(guān)于clone()方法,它僅僅復(fù)制調(diào)用對(duì)象的淺層內(nèi)容(shallow copy),如果調(diào)用對(duì)象中存在某個(gè)類的變量,它僅僅復(fù)制了這個(gè)變量的reference。
          如果一個(gè)類想擁有clone()方法,就必須在聲明的時(shí)候加入implement java.lang.Cloneable(否則會(huì)產(chǎn)生 CloneNotSupportedException),并必須重載clone()方法(否則會(huì)導(dǎo)致語(yǔ)法錯(cuò)誤,因?yàn)閖ava.lang.Object中的clone()是protected的),或者直接使用super.clone()

          4. wrapper class --把基本類型當(dāng)作類操作
          類名大多是原類型首字母大寫(xiě),除int - Integer,char - Character以外。
          (1)構(gòu)造方法舉例
          public Integer(int value)
          public Integer(String s)
          (2)常量舉例
          Float.MIN_VALUE
          Double.MAX_VALUE
          (3)類型轉(zhuǎn)換用法舉例
          long l = doubleObject.longValue(); //自動(dòng)去小數(shù)
          String s = doubleObject.toString();
          (4)valueOf(static) 用法舉例
          Double doubleObject = Double.valueOf("12.4");
          (5)字符串轉(zhuǎn)化為數(shù)舉例
          Integer.parseInt("11", 2) 返回 3 (二進(jìn)制)
          Integer.parseInt("1A", 16) 返回 26
          (6)Arrays.sort 方法
          僅能用于元素類型相同且都implement Comparable的情況
          (7)If a is a subclass of B, every instance of A[] is an instance of B[]. Therefore, the following statement is true:
          new GregorainCalendar[10] instanceof Calendar[]
          (8)類和基礎(chǔ)類型的自動(dòng)轉(zhuǎn)換 (JDK 1.5 Feature)
          Integer[] intArray = {1, 2, 3}; //自動(dòng)把基礎(chǔ)類型轉(zhuǎn)為類,稱為boxing
          System.out.println(intArray[0] + intArray[1] + intArray[2]); //輸出6,自動(dòng)把類轉(zhuǎn)為基礎(chǔ)類型,稱為unboxing


          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2.2 Java notes

          Posted on 2007-04-22 20:23 ZelluX 閱讀(142) 評(píng)論(0)  編輯  收藏 所屬分類: OOP
          2007-02-02 23:15:03
          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 木里| 申扎县| 贡嘎县| 罗城| 黎平县| 新干县| 海原县| 即墨市| 五指山市| 景泰县| 峨眉山市| 彭水| 博湖县| 平谷区| 扬中市| 宁陵县| 绵阳市| 武冈市| 县级市| 文登市| 陆河县| 宁化县| 林口县| 台南市| 宾川县| 云梦县| 保德县| 库车县| 萨迦县| 江都市| 甘泉县| 岳西县| 财经| 兰考县| 澄江县| 灵石县| 哈尔滨市| 南城县| 厦门市| 亳州市| 同江市|