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

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

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

    開源俱樂部

    開源框架
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    java instanceof淺談!

    Posted on 2007-07-04 22:17 HandSoft 閱讀(879) 評論(0)  編輯  收藏 所屬分類: 雜談
    instanceof 是Java的一個二元操作符,和==, > , < 是同一類東西. 由于它是由字母組成的,所以也是Java的保留關鍵字. 它的作用是測試它左邊的對象是否是它右邊的類的實例, 返回boolean類型的數據。例:
          String s = "I an an Object!";
          boolean isObject = s  instanceOf  Object;
    我們聲明了一個String對象引用, 指向一個String 對象, 然后用instanceof 來測試它所指向的對象是否是Object類的一個實例, 顯然, 這是真的, 所以返回true,也就是isObject的值為True.
          instanceof有一些用處. 比如我們寫了一個處理帳單的系統, 其中有這樣三個類:
          public class Bill{//省略細節}
          public class PhoneBill  extends Bill {//省略細節}
          public class GasBill extends Bill {//省略細節}    
    在處理程序里有一個方法, 接受一個Bill類型的對象, 計算金額. 假設兩種帳單計算方法不同, 而傳入的Bill對象可能是兩種中的任何一種, 所以要用instanceof來判斷:
          public  double  calculate(Bill  bill){
                 if(bill  instanceof PhoneBill){
                       //計算電話帳單
                 }
                 if(bill  instanceof  GasBill){
                      //計算煤氣帳單
                 }
                 ...
          }
    這樣就可以用一個方法處理兩種子類.
    然而, 這種做法通常被認為是沒有好好利用面向對象中的多態性.  其實上面的功能要求用方法重載完全可以實現, 這是面向對象編成應有的做法, 避免回到結構化編程模式. 只有提供兩個名字和返回值都相同, 接受參數類型不同的方法就可以了: 
          public double calculate(PhoneBill bill){
               //計算電話帳單
          }
           public double calculate(GasBill  bill){
              //計算燃氣帳單
           }
    所以,  使用instanceof在絕大多數情況下并不是推薦的做法, 應當好好利用多態.
    主站蜘蛛池模板: 久久99国产亚洲高清观看首页| 99re6在线视频精品免费下载| 在线观看免费大黄网站| 亚洲免费视频观看| 亚洲免费视频播放| 亚洲日韩乱码久久久久久| 美女内射毛片在线看免费人动物| 亚洲性天天干天天摸| 99热这里只有精品6免费| 色拍自拍亚洲综合图区| 在线观看免费视频资源| 亚洲人成77777在线观看网| 四虎成人免费网站在线| 精品久久久久久久久亚洲偷窥女厕| 国产精品二区三区免费播放心 | 免费的涩涩视频在线播放| 亚洲高清一区二区三区电影| 国产乱子影视频上线免费观看| 日本中文字幕免费看| 亚洲国产另类久久久精品黑人| 最好看最新的中文字幕免费| 亚洲色大网站WWW永久网站| 亚洲成av人片不卡无码久久| 99视频在线免费观看| 中文字幕亚洲精品资源网| 全免费a级毛片免费**视频| 特级做a爰片毛片免费看| 亚洲国产第一页www| 在线观看免费污视频| 国产精品免费αv视频| 在线电影你懂的亚洲| 国产又黄又爽又猛的免费视频播放 | 亚洲精品中文字幕无乱码| 精品久久久久久久免费加勒比| 精品久久久久久国产免费了| 中文字幕亚洲综合久久| 日韩一区二区免费视频| 精品免费tv久久久久久久| 亚洲私人无码综合久久网| 亚洲另类激情综合偷自拍图| 成年在线观看免费人视频草莓|