<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    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 閱讀(200) 評論(0)  編輯  收藏 所屬分類: 04.Java

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲激情电影在线| 国产成年无码久久久免费| 亚洲VA中文字幕无码毛片| 亚洲精品国产电影午夜| 国产精品亚洲专区无码牛牛| 999zyz**站免费毛片| 久久久久久国产精品免费免费| 人妻无码一区二区三区免费 | 免费一级做a爰片久久毛片潮喷| 麻豆一区二区免费播放网站| 国产片免费福利片永久| 亚洲精品乱码久久久久66| 亚洲人成在线播放| eeuss免费天堂影院| 男人的好看免费观看在线视频| 久久久久久久91精品免费观看| 四虎在线最新永久免费| 国产亚洲精久久久久久无码AV| 国产综合精品久久亚洲| 亚洲AV永久无码精品| 边摸边脱吃奶边高潮视频免费 | 色偷偷女男人的天堂亚洲网| 亚洲国产精品yw在线观看| 亚洲自国产拍揄拍| 无码精品一区二区三区免费视频| 亚洲免费精彩视频在线观看| 亚洲国产中文字幕在线观看| 亚洲成a人一区二区三区| 2020久久精品亚洲热综合一本| 亚洲成a∨人片在无码2023| 最近免费2019中文字幕大全| 亚洲午夜福利精品久久| 亚洲AV无码专区在线厂| 亚洲精品免费网站| 亚洲黄色三级网站| 国色精品va在线观看免费视频| 亚洲精品在线免费观看| 伊人久久综在合线亚洲2019| jiz zz在亚洲| 国内精品乱码卡1卡2卡3免费| 亚洲高清免费视频|