Decode360's Blog

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

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

          ?
          五、重載
          ?
          ??? 接口、Object類型、數(shù)組類型,都是多態(tài)類型。
          ?
          ??? 不同種類的多態(tài)性就是重載 ,即同名的方法,而傳入?yún)?shù)個數(shù)或種類不同
          ?
          ??? 不能重載某個類型包含的另一個類型參數(shù),這樣輸入某個參數(shù),兩種都成立。
          ?
          ??? 重載的作用在于可以減少我們必須記住的方法名稱的數(shù)量!




          -The End-

          posted on 2008-11-21 22:13 decode360-3 閱讀(229) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 海晏县| 泸水县| 青田县| 南昌县| 谢通门县| 行唐县| 扶风县| 泸州市| 华坪县| 瑞安市| 施甸县| 西城区| 通渭县| 江门市| 夏河县| 如皋市| 安乡县| 江津市| 和田市| 威宁| 鸡东县| 昌图县| 运城市| 三江| 昌江| 商南县| 玉溪市| 沂源县| 县级市| 揭东县| 亳州市| 苏尼特右旗| 南阳市| 昌图县| 林州市| 天台县| 新宁县| 盐山县| 宣城市| 康定县| 乐亭县|