欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年01月16日 10:13:43   投稿:jingxian  
下面小編就為大家?guī)硪黄斦凧ava中instanceof和isInstance的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一次性搞定instanceof和isInstance,instanceof和isInstance長的非常像,用法也很類似,先看看這兩個的用法:

obj.instanceof(class)

也就是說這個對象是不是這種類型,

1. 一個對象是本身類的一個對象

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

3. 所有對象都是Object

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

class.inInstance(obj)

這個對象能不能被轉化為這個類

1. 一個對象是本身類的一個對象

2. 一個對象能被轉化為本身類所繼承類(父類的父類等)和實現(xiàn)的接口(接口的父接口)強轉

3. 所有對象都能被Object的強轉

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

類名.class和對象.getClass()幾乎沒有區(qū)別,因為一個類被類加載器加載后,就是唯一的一個類。

一個實例搞定:

 

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));
  }
}

運行結果:

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

相關文章

  • 詳解如何在Java中加密和解密zip文件

    詳解如何在Java中加密和解密zip文件

    在本文中,我們來學習如何用Zip4j庫創(chuàng)建受密碼保護的壓縮文件并將其解壓,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-09-09
  • java8如何用Stream查List對象某屬性是否有重復

    java8如何用Stream查List對象某屬性是否有重復

    這篇文章主要介紹了java8如何用Stream查List對象某屬性是否有重復的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Intellij IDEA下Spring Boot熱切換配置

    Intellij IDEA下Spring Boot熱切換配置

    這篇文章主要介紹了Intellij IDEA下Spring Boot熱切換配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • java實現(xiàn)基于UDP協(xié)議網絡Socket編程(C/S通信)

    java實現(xiàn)基于UDP協(xié)議網絡Socket編程(C/S通信)

    這篇文章主要介紹了java實現(xiàn)基于UDP協(xié)議網絡Socket編程(C/S通信),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 一篇文章搞定數據庫連接池

    一篇文章搞定數據庫連接池

    數據庫連接池在編寫應用服務是經常需要用到的模塊,太過頻繁的連接數據庫對服務性能來講是一個瓶頸,使用緩沖池技術可以來消除這個瓶頸,本文就來介紹Java常見的幾種,感興趣的可以了解一下
    2021-07-07
  • JAVA代碼開發(fā)規(guī)范

    JAVA代碼開發(fā)規(guī)范

    本文主要對JAVA代碼開發(fā)規(guī)范進行詳細介紹,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 解決JDK8的ParallelStream遍歷無序的問題

    解決JDK8的ParallelStream遍歷無序的問題

    這篇文章主要介紹了解決JDK8的ParallelStream遍歷無序的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java基本教程之線程休眠 java多線程教程

    java基本教程之線程休眠 java多線程教程

    本文對javaThread中sleep()方法進行介紹,sleep() 的作用是讓當前線程休眠,即當前線程會從“運行狀態(tài)”進入到“休眠(阻塞)狀態(tài)”,大家參考使用吧
    2014-01-01
  • SpringBoot設置默認主頁的方法步驟

    SpringBoot設置默認主頁的方法步驟

    這篇文章主要介紹了SpringBoot設置默認主頁的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 5分鐘快速上手Spring Boot

    5分鐘快速上手Spring Boot

    這篇文章主要介紹了5分鐘快速上手Spring Boot,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論