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

詳談Java中instanceof和isInstance的區(qū)別

 更新時(shí)間:2017年01月16日 10:13:43   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇詳談Java中instanceof和isInstance的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

一次性搞定instanceof和isInstance,instanceof和isInstance長(zhǎng)的非常像,用法也很類似,先看看這兩個(gè)的用法:

obj.instanceof(class)

也就是說(shuō)這個(gè)對(duì)象是不是這種類型,

1. 一個(gè)對(duì)象是本身類的一個(gè)對(duì)象

2. 一個(gè)對(duì)象是本身類父類(父類的父類)和接口(接口的接口)的一個(gè)對(duì)象

3. 所有對(duì)象都是Object

4. 凡是null有關(guān)的都是false  null.instanceof(class)

class.inInstance(obj)

這個(gè)對(duì)象能不能被轉(zhuǎn)化為這個(gè)類

1. 一個(gè)對(duì)象是本身類的一個(gè)對(duì)象

2. 一個(gè)對(duì)象能被轉(zhuǎn)化為本身類所繼承類(父類的父類等)和實(shí)現(xiàn)的接口(接口的父接口)強(qiáng)轉(zhuǎn)

3. 所有對(duì)象都能被Object的強(qiáng)轉(zhuǎn)

4. 凡是null有關(guān)的都是false   class.inInstance(null)

類名.class和對(duì)象.getClass()幾乎沒(méi)有區(qū)別,因?yàn)橐粋€(gè)類被類加載器加載后,就是唯一的一個(gè)類。

一個(gè)實(shí)例搞定:

 

class A {
}

class B extends A {
}

public class Test {
  public static void main(String[] args) {

    B b = new B();
    A a = new A();
    A ba = new B();
    System.out.println("1------------");
    System.out.println(b instanceof B);
    System.out.println(b instanceof A);
    System.out.println(b instanceof Object);
    System.out.println(null instanceof Object);
    System.out.println("2------------");
    System.out.println(b.getClass().isInstance(b));
    System.out.println(b.getClass().isInstance(a));
    System.out.println("3------------");
    System.out.println(a.getClass().isInstance(ba));
    System.out.println(b.getClass().isInstance(ba));
    System.out.println(b.getClass().isInstance(null));
    System.out.println("4------------");
    System.out.println(A.class.isInstance(a));
    System.out.println(A.class.isInstance(b));
    System.out.println(A.class.isInstance(ba));
    System.out.println("5------------");
    System.out.println(B.class.isInstance(a));
    System.out.println(B.class.isInstance(b));
    System.out.println(B.class.isInstance(ba));
    System.out.println("6------------");
    System.out.println(Object.class.isInstance(b));
    System.out.println(Object.class.isInstance(null));
  }
}

運(yùn)行結(jié)果:

以上這篇詳談Java中instanceof和isInstance的區(qū)別就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot 2.x 把 Guava 干掉了選擇本地緩存之王 Caffeine(推薦)

    Spring Boot 2.x 把 Guava 干掉了選擇本地緩存之王 Caffeine(推薦)

    這篇文章主要介紹了Spring Boot 2.x 把 Guava 干掉了選擇本地緩存之王 Caffeine,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Java多線程之線程安全問(wèn)題詳細(xì)解析

    Java多線程之線程安全問(wèn)題詳細(xì)解析

    這篇文章主要給大家介紹了關(guān)于Java多線程之線程安全問(wèn)題的相關(guān)資料,Java多線程中線程安全問(wèn)題是一個(gè)常見(jiàn)的問(wèn)題,因?yàn)槎鄠€(gè)線程可能同時(shí)訪問(wèn)共享的資源,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • SpringBoot與Spring中數(shù)據(jù)緩存Cache超詳細(xì)講解

    SpringBoot與Spring中數(shù)據(jù)緩存Cache超詳細(xì)講解

    我們知道內(nèi)存讀取速度遠(yuǎn)大于硬盤讀取速度,當(dāng)需要重復(fù)獲取相同數(shù)據(jù)時(shí),一次一次的請(qǐng)求數(shù)據(jù)庫(kù)或者遠(yuǎn)程服務(wù),導(dǎo)致在數(shù)據(jù)庫(kù)查詢或者遠(yuǎn)程方法調(diào)用上小號(hào)大量的時(shí)間,最終導(dǎo)致程序性能降低,這就是數(shù)據(jù)緩存要解決的問(wèn)題,學(xué)過(guò)計(jì)算機(jī)組成原理或者操作系統(tǒng)的同學(xué)們應(yīng)該比較熟悉
    2022-10-10
  • java數(shù)據(jù)結(jié)構(gòu)之搜索二叉樹(shù)

    java數(shù)據(jù)結(jié)構(gòu)之搜索二叉樹(shù)

    這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)之搜索二叉樹(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • mybatis where 標(biāo)簽使用

    mybatis where 標(biāo)簽使用

    where標(biāo)記的作用類似于動(dòng)態(tài)sql中的set標(biāo)記,本文主要介紹了mybatis where 標(biāo)簽使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java實(shí)現(xiàn)XML與JSON的互相轉(zhuǎn)換詳解

    Java實(shí)現(xiàn)XML與JSON的互相轉(zhuǎn)換詳解

    這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)XML與JSON的互相轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • Spring?Boot?整合持久層之MyBatis

    Spring?Boot?整合持久層之MyBatis

    在實(shí)際開(kāi)發(fā)中不僅僅是要展示數(shù)據(jù),還要構(gòu)成數(shù)據(jù)模型添加數(shù)據(jù),這篇文章主要介紹了SpringBoot集成Mybatis操作數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 教你如何使用Java多線程編程LockSupport工具類

    教你如何使用Java多線程編程LockSupport工具類

    在Java工具包中有一個(gè)LockSupport工具類,主要負(fù)責(zé)掛起和喚醒線程,這篇文章主要介紹了教你如何使用Java多線程編程LockSupport工具類,需要的朋友可以參考下
    2021-04-04
  • java使用Apache工具集實(shí)現(xiàn)ftp文件傳輸代碼詳解

    java使用Apache工具集實(shí)現(xiàn)ftp文件傳輸代碼詳解

    這篇文章主要介紹了java使用Apache工具集實(shí)現(xiàn)ftp文件傳輸代碼詳解,分享了詳細(xì)連接ftp server和上傳文件,下載文件的代碼,以及結(jié)果展示,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Java的synchronized關(guān)鍵字深入解析

    Java的synchronized關(guān)鍵字深入解析

    這篇文章主要介紹了Java的synchronized關(guān)鍵字深入解析,在并發(fā)編程中,多線程同時(shí)并發(fā)訪問(wèn)的資源叫做臨界資源,當(dāng)多個(gè)線程同時(shí)訪問(wèn)對(duì)象并要求操作相同資源時(shí),分割了原子操作就有可能出現(xiàn)數(shù)據(jù)的不一致或數(shù)據(jù)不完整的情況,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

庐江县| 玉树县| 马边| 泸溪县| 洞口县| 界首市| 延川县| 苍溪县| 曲沃县| 濮阳市| 中阳县| 玉环县| 康平县| 元氏县| 长白| 中西区| 栾城县| 边坝县| 汉源县| 张家界市| 共和县| 皮山县| 盐津县| 廉江市| 宝山区| 陕西省| 安阳市| 武义县| 琼中| 苍溪县| 东台市| 临夏县| 宕昌县| 泌阳县| 崇明县| 新安县| 互助| 凤翔县| 河曲县| 天等县| 元朗区|