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

首頁 > 編程 > Java > 正文

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

2019-11-06 09:42:54
字體:
供稿:網(wǎng)友

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

obj.instanceof(class)

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

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

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

3.所有對象都是Object

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

 

class.inInstance(obj)

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

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

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

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

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

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

 

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

 

復(fù)制代碼
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));    }}復(fù)制代碼

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

標(biāo)簽: java
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新晃| 康平县| 湛江市| 土默特左旗| 三台县| 美姑县| 通道| 六盘水市| 牙克石市| 吴川市| 涟源市| 沙田区| 泽普县| 长白| 武穴市| 成武县| 乌海市| 江都市| 罗城| 瑞金市| 隆子县| 许昌市| 综艺| 安阳市| 天峨县| 右玉县| 铅山县| 郁南县| 高青县| 招远市| 鸡泽县| 兴隆县| 名山县| 南丹县| 都昌县| 涞水县| 萝北县| 廉江市| 保康县| 廉江市| 北票市|