摘要:的類,有一個的方法它的作用是判斷調用這個方法或者接口的類或接口與參數傳入的類或接口是否相同,或者是其父類,例如類似的,類還有一個的方法它的作用是,傳入的參數對象如果為,則直接返回,是否是調用這個方法的類或接口的實例,或是其子類的實例,例如當
Class.isAssignableFrom
Java的Class類,有一個native的方法: isAssignableFrom
public native boolean isAssignableFrom(Class> cls);
它的作用是判斷調用這個方法或者接口的類或接口與參數傳入的類或接口是否相同,或者是其父類,例如:
Object.class.isAssignableFrom(String.class); // trueClass.isInstance
類似的,Class類還有一個native的方法: isInstance
public native boolean isInstance(Object obj);
它的作用是,傳入的參數obj對象(如果為null,則直接返回false),是否是調用這個方法的類或接口的實例,或是其子類的實例,例如:
Map map = new HashMap(); Map.class.isInstance(map); // trueinstanceof
當然,還有最常用的,關鍵字instanceof
判斷左邊的對象(如果為null,則直接返回false),是否是右邊類或接口的實例,或者子類的實例
Map map = new HashMap(); map instanceof Map // true總結
通過對比可以發現,Class.instance 和 instanceof 的作用其實是一樣的,是判斷一個對象和類或接口的關系,而Class.isAssignableFrom判斷的是兩個類或接口之間的關系
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71421.html
摘要:接口與類型信息關鍵字的一種重要目標就是允許程序員隔離構件,進而降低耦合性。如果你編寫接口,那么就可以實現這一目標,但是通過類型信息,這種耦合性還是會傳播出去接口并非是對解耦的一種無懈可擊的保障。 點擊進入我的博客 運行時類型信息使得你可以在運行時發現和使用類型信息,主要有兩種方式: 傳統的RTTI,它假定我們在編譯時已經知道了所有的類型; 反射機制,它允許我們在運行時發現和使用類的...
摘要:相比硬編碼,反射要復雜的多,但其給我們帶來了更大的靈活性。實際上構造函數也是類的靜態方法,因此使用關鍵字創建類的新對象也會被當做對類的靜態引用,從而觸發類加載器對類的加載。基礎基礎主要是為反射提供通用特性的接口或基類。 1. Java類型系統 獲取Java類型系統,主要有兩個方式:一種是傳統的RTTI(Run-Time Type Identification),它假定我們在編譯時已經知...
摘要:我們知道一個方法有一下關鍵字段組成首先一個方法必須有描述符,返回值,方法名,參數類型,參數構成。至此,方法的相關的注解分析完畢類型的請求,沒有請求體。方法已將在方法里面分析過了,這里面都一樣。拋出一個畸形的錯誤。 簡介 retrofit是square出品的一個優秀的網絡框架,注意,不是一個網絡引擎。它的定位和Volley是一樣的。 它完成了封裝請求,線程切換,數據裝換等一系列工作,如果...
以下是Java技術棧微信公眾號發布的關于 Java 的技術干貨,從以下幾個方面匯總。 Java 基礎篇 Java 集合篇 Java 多線程篇 Java JVM篇 Java 進階篇 Java 新特性篇 Java 工具篇 Java 書籍篇 Java基礎篇 8張圖帶你輕松溫習 Java 知識 Java父類強制轉換子類原則 一張圖搞清楚 Java 異常機制 通用唯一標識碼UUID的介紹及使用 字符串...
閱讀 1214·2021-09-30 09:47
閱讀 3767·2021-09-06 15:02
閱讀 1778·2021-09-01 10:46
閱讀 2361·2019-08-30 15:52
閱讀 596·2019-08-29 15:28
閱讀 1874·2019-08-29 15:08
閱讀 1151·2019-08-29 13:28
閱讀 2578·2019-08-29 12:19