国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 13:15:04
字體:
供稿:網(wǎng)友

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

obj.instanceof(class)

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

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

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

3. 所有對象都是Object

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

class.inInstance(obj)

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

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

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

3. 所有對象都能被Object的強轉(zhuǎn)

4. 凡是null有關(guān)的都是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));  }}

運行結(jié)果:

以上這篇詳談Java中instanceof和isInstance的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 钟祥市| 马公市| 巴彦淖尔市| 合阳县| 宝丰县| 岳池县| 从江县| 望奎县| 武川县| 河津市| 喜德县| 虎林市| 翼城县| 乡宁县| 克拉玛依市| 寻乌县| 刚察县| 尖扎县| 漳州市| 阳泉市| 钟祥市| 林西县| 莒南县| 庄河市| 车致| 江孜县| 四川省| 玉屏| 格尔木市| 临武县| 锡林浩特市| 英山县| 拉萨市| 江永县| 光泽县| 武川县| 乌兰察布市| 安化县| 石泉县| 行唐县| 松江区|