Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          Java特性隨便看看(多態)
          ?
          一、引用類型
          ?
          ??? 1、Java的數據類型
          ?
          ????? Java有8種基本數據類型:
          ?
          ????? 4種常用的:boolean、char、double、int
          ????? 另外的4種:byte、float、long、short
          ?
          ????? 對于基本類型是直接留出內存保存值,而其他所有的數據類型都是引用類型。
          ?
          ????? 所謂引用類型,即開始創建時只保存了它對某類型的引用。必須初始化之后才可以引用
          ?
          ??? 2、引用類型的相等性
          ?
          ????? 舉例說明:
          ?
          ????? Dog dog1 = new Dog()
          ????? Dog dog2 = Dog1
          ????? Dog dog3 = new Dog()
          ?
          ????? dog1 == dog2 正確
          ????? dog2 == dog3 錯誤
          ?
          ????? 一般會創建equals()方法,然后通過dog2.equals(dog3)來對比每一個值是否相同
          ?
          ??? 3、equals()方法
          ?
          ????? public boolean equals(Object that){
          ??????? if (this == that){
          ???????? return true;
          ??????? }
          ??????? if (that == null){
          ???????? reture false;
          ??????? }
          ??????? if (getClass() != that.getClass()){
          ???????? return false;
          ??????? }
          ??????? Die thatDie = (Die)that;
          ??????? return topFace == thatDie.topFace;
          ????? }
          ?
          ????? 注:1、首先把實例this==that的直接返回,不用再進去比較多個值
          ????????? 2、that=null時直接返回,不要去嘗試追隨null
          ????????? 3、比較類名,若不是同一各類就直接返回false
          ?
          ?
          二、多態
          ?
          ??? 1、多態類型對象:
          ?
          ??? Object it;
          ??? it = new Dog();
          ??? it = new double[10];
          ?
          ??? 以上代碼都是正確的,Object類型的變量可以保存一個指向廣泛事物的引用。
          ??? Object是一個典型的多態類型(polymorphic type)
          ?
          ??? 2、基本類型包裝器
          ?
          ??? Object可以保存任何對象和數組,但是不能保存基本類型,所以需要包裝器類。
          ??? 針對8個基本類型的包裝器分別為:
          ?
          ??? Boolean、Byte、Character、Double、Float、Integer、Long、Short
          ?
          ??? 理論上需要用以下方法進行轉換:
          ?
          ??? Object k = new Integer(23);
          ??? int n = ((Integer)k).intValue();
          ?
          ??? 但是在1.5版本以后,可以直接省略為:
          ?
          ??? Object k = 5;
          ??? int n = (Integer)number;
          ?
          ?
          三、數組
          ?
          ??? 1、數組的創建步驟
          ?
          ????? ① 聲明變量:int[] nums;
          ????? ② 分配空間:nums = new int[4];
          ????? ③ 初始化:int[0] = 1;
          ?
          ????? int[] nums = new int[]{0,1,2,3,4}
          ?
          ??? 2、多維數組
          ?
          ????? int[][] rows;
          ????? rows = new int[2][3];
          ?
          ????? 上例是由3個“含有4個值的數組”組成的數組,也可以理解為3行4列
          ?
          ????? 要取單獨一行:int[] middleRow = row[1];
          ????? 要單獨取一列:row[0] = new int[4];
          ?
          ?
          四、接口
          ?
          ??? 接口跟類是很相似的,區別在于接口即沒有字段也沒有方法體,只指明了類的行為方式。接口的作用簡單一點就是:接口是用來標記類的,不同的類屬于不同的接口(通過向上轉型),管理接口比管理各種各樣的類方便多了,接口體現了抽象的觀點,什么是抽象?抽象就是“抽去像的部分”。
          ?
          ??? 實現接口:
          ?
          ??? public class FieldDomino implements Domino{
          ??? ...
          ??? }

          ?
          五、重載
          ?
          ??? 接口、Object類型、數組類型,都是多態類型。
          ?
          ??? 不同種類的多態性就是重載 ,即同名的方法,而傳入參數個數或種類不同
          ?
          ??? 不能重載某個類型包含的另一個類型參數,這樣輸入某個參數,兩種都成立。
          ?
          ??? 重載的作用在于可以減少我們必須記住的方法名稱的數量!
          ?
          ?
          ?
          posted on 2008-11-22 21:51 decode360 閱讀(205) 評論(0)  編輯  收藏 所屬分類: 04.Java

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 武鸣县| 北川| 姜堰市| 钟山县| 昌平区| 板桥市| 长葛市| 广南县| 榆中县| 临猗县| 黑龙江省| 贡山| 正宁县| 平定县| 铜山县| 寻甸| 襄垣县| 军事| 水城县| 怀化市| 福建省| 社会| 枣阳市| 长子县| 南充市| 昔阳县| 四子王旗| 卓尼县| 平潭县| 海丰县| 云和县| 来凤县| 酉阳| 饶河县| 美姑县| 佛教| 米泉市| 五大连池市| 石台县| 临清市| 晴隆县|