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

Java中instanceof 關鍵字的使用

 更新時間:2023年10月13日 08:54:48   作者:即使再小的船也能遠航  
instanceof通過返回一個布爾值來指出,某個對象是否是某個特定類或者是該特定類的子類的一個實例,本文就來詳細的介紹一下instanceof 關鍵字的使用,感興趣的可以了解一下

instanceof 通過返回一個布爾值來指出,某個對象是否是某個特定類或者是該特定類的子類的一個實例。

如果 object 是class 的一個實例,則 instanceof 運算符返回 true,如果 object 不是指定類的一個實例,或者object 是null, 則返回false。class 可以是類,可以是接口。

instanceof 在Java 的編譯狀態(tài) 和 運行狀態(tài)是有區(qū)別的:

  • 在編譯狀態(tài)中,class(指的是對象的引用)可以是object對象、父類,自身類,子類。在這三種情況下Java編譯時不會報錯。
  • 在運行狀態(tài)中,class 可以是 object 對象,父類,自身類,不能其他是子類。在前面三種情況下 result 的結果為 true,最后一種為false。但是class為子類時編譯不會報錯。運行結果為false.(大致就是判斷表達式:class 變量=(class)object的引用 是否立)。

 示例代碼:

AnimalParent.java

package com.api.Demo06;
public class AnimalParent {
//public interface AnimalParent { //也可以時接口
}

Cat.java

package com.api.Demo06;
public class Cat extends AnimalParent{
//public class Cat implements AnimalParent{
}

Dog.java

package com.api.Demo06;
public class Dog extends AnimalParent{
//public class Dog implements AnimalParent{
}

Test.java

package com.api.Demo06;
public class Test01 {
    public static void main(String[] args) {
        //多態(tài)技術
        AnimalParent cat = new Cat();
        // 類型轉換異常
//        Dog dog = (Dog) cat; //com.api.Demo06.Cat cannot be cast to com.api.Demo06.Dog
        // if(對象的引用 instanceof 具體的類型(類或接口))
        if (cat instanceof Dog) { //返回 布爾類型 是該類型 返回true,不是則返回false
            System.out.println("cat 是 Dog 類型");
        } else {
            System.out.println("cat 不是 Dog 類型");
        }
        /**
         * cat instanceof Dog 不是
         * cat instanceof Cat||AnimalParent||Object 是
         * 在編譯狀態(tài)中,class(對象的引用)可以是object對象的父類(AnimalParent),自身類(Cat),子類。
         * 在這三種情況下Java編譯時不會報錯。
         */
        // 強轉時 程序可能會直接 拋出異常,所以可以使用 instanceof 判斷一下
        if (cat instanceof Dog) {
            Dog dog = (Dog) cat;
            System.out.println("類型符合,可以強轉");
        } else {
            System.out.println("類型不符,不能強轉");
        }
    }
    /**
     * 在運行狀態(tài)中,class 可以是 object 對象的父類(AnimalParent),自身類(Cat),不能是其他的子類(Dog、)。
     * 在前面兩種情況下 result 的結果為 true,最后一種為false。
     */
}

到此這篇關于Java中instanceof 關鍵字的使用的文章就介紹到這了,更多相關Java instanceof 關鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • springboot中request和response的加解密實現(xiàn)代碼

    springboot中request和response的加解密實現(xiàn)代碼

    這篇文章主要介紹了springboot中request和response的加解密實現(xiàn),在springboot中提供了RequestBodyAdviceAdapter和ResponseBodyAdvice,利用這兩個工具可以非常方便的對請求和響應進行預處理,需要的朋友可以參考下
    2022-06-06
  • SpringBoot內(nèi)置服務器(Tomcat/Jetty/Undertow)切換的操作指南

    SpringBoot內(nèi)置服務器(Tomcat/Jetty/Undertow)切換的操作指南

    本文介紹了如何在SpringBoot中切換內(nèi)置服務器(Tomcat、Jetty和Undertow),分析了它們的核心差異和適用場景,通過修改pom.xml和application.yml文件,可以實現(xiàn)服務器的切換和自定義配置,最后給出了選型建議和注意事項,需要的朋友可以參考下
    2026-03-03
  • Java中靜態(tài)代碼塊、構造代碼塊、構造函數(shù)和普通代碼塊的區(qū)別

    Java中靜態(tài)代碼塊、構造代碼塊、構造函數(shù)和普通代碼塊的區(qū)別

    在Java中,靜態(tài)代碼塊、構造代碼塊、構造函數(shù)、普通代碼塊的執(zhí)行順序是一個筆試的考點,通過這篇文章希望大家能徹底了解它們之間的執(zhí)行順序,需要的朋友可以參考下
    2023-05-05
  • Spring?BeanFactory工廠使用教程

    Spring?BeanFactory工廠使用教程

    Spring的本質(zhì)是一個bean工廠(beanFactory)或者說bean容器,它按照我們的要求,生產(chǎn)我們需要的各種各樣的bean,提供給我們使用。只是在生產(chǎn)bean的過程中,需要解決bean之間的依賴問題,才引入了依賴注入(DI)這種技術
    2023-02-02
  • 解析java.library.path和LD_LIBRARY_PATH的介紹與區(qū)別

    解析java.library.path和LD_LIBRARY_PATH的介紹與區(qū)別

    這篇文章主要介紹了java.library.path和LD_LIBRARY_PATH的介紹與區(qū)別,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • Java方法的返回值及注意事項小結

    Java方法的返回值及注意事項小結

    這篇文章主要介紹了Java方法的返回值及注意事項,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Java實現(xiàn)多層文件夾壓縮功能

    Java實現(xiàn)多層文件夾壓縮功能

    這篇文章主要為大家詳細介紹了如何利用Java語言進行多層文件夾壓縮功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-08-08
  • 深入學習Spring Cloud-Ribbon

    深入學習Spring Cloud-Ribbon

    這篇文章主要介紹了Spring Cloud-Ribbon的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友一起看看吧
    2021-03-03
  • IDEA集成MyBatis Generator插件的使用

    IDEA集成MyBatis Generator插件的使用

    這篇文章主要介紹了IDEA集成MyBatis Generator插件的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • java處理異常的機制關鍵字throw和throws使用解析

    java處理異常的機制關鍵字throw和throws使用解析

    這篇文章主要介紹了java處理異常的機制關鍵字throw和throws使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09

最新評論

稻城县| 宁德市| 濮阳县| 柳林县| 驻马店市| 五大连池市| 金沙县| 昌黎县| 兴国县| 扎兰屯市| 雅江县| 邹平县| 南岸区| 漳浦县| 任丘市| 鄂托克前旗| 钟山县| 象州县| 无锡市| 武强县| 清徐县| 荣昌县| 恩施市| 清流县| 鄂伦春自治旗| 高清| 阜康市| 雷波县| 彭水| 兴海县| 揭西县| 景德镇市| 黄大仙区| 华容县| 穆棱市| 邵阳市| 安宁市| 克拉玛依市| 宁远县| 吉林省| 克什克腾旗|