国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 牡丹江市| 贵阳市| 教育| 嵊州市| 鄯善县| 瑞安市| 佛坪县| 新丰县| 容城县| 石家庄市| 吴川市| 闽清县| 崇义县| 慈溪市| 肇州县| 鄂伦春自治旗| 天长市| 同江市| 孟连| 邛崃市| 阿拉善盟| 洛川县| 阿巴嘎旗| 新干县| 衢州市| 利津县| 从江县| 新河县| 山西省| 克山县| 磐安县| 临潭县| 英吉沙县| 长治市| 丰都县| 富裕县| 香格里拉县| 临高县| 丹寨县| 鲁山县| 噶尔县|