最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中Java instanceof關(guān)鍵字全面解析

 更新時(shí)間:2016年07月13日 11:33:21   作者:2778085001  
instanceof關(guān)鍵字用于判斷一個(gè)引用類型變量所指向的對(duì)象是否是一個(gè)類(或接口、抽象類、父類)的實(shí)例.這篇文章主要介紹了Android中Java instanceof關(guān)鍵字全面解析的相關(guān)資料,需要的朋友可以參考下

instanceof關(guān)鍵字用于判斷一個(gè)引用類型變量所指向的對(duì)象是否是一個(gè)類(或接口、抽象類、父類)的實(shí)例。

instanceof是Java的一個(gè)二元操作符,和==,>,<是同一類東東。由于它是由字母組成的,所以也是Java的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回boolean類型的數(shù)據(jù)。舉個(gè)例子:

 String s = "I AM an Object!";
  boolean isObject = s instanceof Object;

  我們聲明了一個(gè)String對(duì)象引用,指向一個(gè)String對(duì)象,然后用instancof來測(cè)試它所指向的對(duì)象是否是Object類的一個(gè)實(shí)例,顯然,這是真的,所以返回true,也就是isObject的值為True。

  instanceof有一些用處。比如我們寫了一個(gè)處理賬單的系統(tǒng),其中有這樣三個(gè)類:

public class Bill {//省略細(xì)節(jié)}
  public class PhoneBill extends Bill {//省略細(xì)節(jié)}
  public class GasBill extends Bill {//省略細(xì)節(jié)}

  在處理程序里有一個(gè)方法,接受一個(gè)Bill類型的對(duì)象,計(jì)算金額。假設(shè)兩種賬單計(jì)算方法不同,而傳入的Bill對(duì)象可能是兩種中的任何一種,所以要用instanceof來判斷:

 public double calculate(Bill bill) {
  if (bill instanceof PhoneBill) {
  //計(jì)算電話賬單
  }
  if (bill instanceof GasBill) {
  //計(jì)算燃?xì)赓~單
  }
  ...
  }

  這樣就可以用一個(gè)方法處理兩種子類。

  然而,這種做法通常被認(rèn)為是沒有好好利用面向?qū)ο笾械亩鄳B(tài)性。其實(shí)上面的功能要求用方法重載完全可以實(shí)現(xiàn),這是面向?qū)ο笞兂蓱?yīng)有的做法,避免回到結(jié)構(gòu)化編程模式。只要提供兩個(gè)名字和返回值都相同,接受參數(shù)類型不同的方法就可以了:

public double calculate(PhoneBill bill) {
  //計(jì)算電話賬單
  }
  public double calculate(GasBill bill) {
  //計(jì)算燃?xì)赓~單
  }

  所以,使用instanceof在絕大多數(shù)情況下并不是推薦的做法,應(yīng)當(dāng)好好利用多態(tài)。

相關(guān)文章

  • Android實(shí)現(xiàn)手寫簽名

    Android實(shí)現(xiàn)手寫簽名

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手寫簽名的具體實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android實(shí)現(xiàn)App中導(dǎo)航Tab欄懸浮的功能

    Android實(shí)現(xiàn)App中導(dǎo)航Tab欄懸浮的功能

    相信大家在玩手機(jī)的過程中應(yīng)該會(huì)注意到很多的app都有這種功能,比如說外賣達(dá)人常用的“餓了么”。所以這篇文章給大家分享了Android如何實(shí)現(xiàn)app中的導(dǎo)航Tab欄懸浮的功能,有需要的朋友們可以參考借鑒。
    2016-10-10
  • Android編程實(shí)現(xiàn)對(duì)話框形式進(jìn)度條功能示例

    Android編程實(shí)現(xiàn)對(duì)話框形式進(jìn)度條功能示例

    這篇文章主要介紹了Android編程實(shí)現(xiàn)對(duì)話框形式進(jìn)度條功能,結(jié)合具體實(shí)例形式分析了Android對(duì)話框形式進(jìn)度條的功能與布局相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • Android WebView基礎(chǔ)應(yīng)用詳解

    Android WebView基礎(chǔ)應(yīng)用詳解

    這篇文章主要為大家介紹了Android中WebView這一控件的基礎(chǔ)應(yīng)用,例如:播放音樂,播放視頻等,文中的示例代碼講解詳細(xì),對(duì)于我們了解WebView很有幫助,需要的同學(xué)可以學(xué)習(xí)一下
    2021-12-12
  • Android?Studio實(shí)現(xiàn)購(gòu)買售賣系統(tǒng)

    Android?Studio實(shí)現(xiàn)購(gòu)買售賣系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Android?Studio實(shí)現(xiàn)購(gòu)買售賣系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Android輸入法與表情面板切換時(shí)的界面抖動(dòng)問題解決方法

    Android輸入法與表情面板切換時(shí)的界面抖動(dòng)問題解決方法

    這篇文章主要介紹了Android輸入法與表情面板切換時(shí)的界面抖動(dòng)問題解決方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 最新評(píng)論

    称多县| 大理市| 长沙市| 河津市| 诸暨市| 上高县| 青岛市| 苍溪县| 县级市| 台东市| 喜德县| 华坪县| 南木林县| 道真| 宜兰市| 安福县| 石河子市| 富蕴县| 安乡县| 巍山| 民乐县| 镶黄旗| 梧州市| 道真| 浪卡子县| 邛崃市| 陈巴尔虎旗| 朝阳区| 札达县| 开鲁县| 望谟县| 武强县| 尚义县| 福建省| 贺州市| 剑川县| 黎平县| 综艺| 潼关县| 新闻| 云霄县|