成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文搞定Java.lang.Class.IsInstance和Instanceof的區別

開發 前端
Java.lang.Class.isInstance和instanceof關鍵字都是用來判斷對象類型的,但是當程序在運行時動態地判斷對象的類型時instanceof就無能為力了。

[[420534]]

Java.lang.Class.isInstance和instanceof關鍵字都是用來判斷對象類型的,但是當程序在運行時動態地判斷對象的類型時instanceof就無能為力了。話不多說,直接上代碼!

  1. public class Car { 
  2. public class Train{ 
  3. public class Benz extends Car { 
  4. public void printBenz() { 
  5. System.out.println("printBenz"); 
  6. Car c1=new Car(); 
  7. Benz b1=new Benz(); 
  8. System.out.println(b1 instanceof Benz); 
  9. System.out.println(b1 instanceof Car); 
  10. System.out.println(b1 instanceof Train); //b1與Train沒有關系,直接編譯提示錯誤:Incompatible conditional operand types Benz and Train 

運行代碼,輸出:

true

true

A instanceof B 用來判斷實例A 是否是類B的實例。 因為b1 是Benz的實例,所以第一個輸出結果是true。

而Benz是Car的子類,所以第二個輸出結果也是true。

接下來我們看一下動態地判斷對象類型的例子:

  1. public static void main(String[] args)throws ClassNotFoundException { 
  2. System.out.println(checkType(newBenz(), "com.my.demo.Car")); 
  3. System.out.println(checkType(newBenz(), "com.my.demo.Benz")); 
  4. public static boolean checkType(Object obj,String className) throws ClassNotFoundException { 
  5. return Class.forName(className).isInstance(obj); 

運行代碼,輸出:

true

true

上述代碼中,isInstance()是Class類的一個方法public boolean isInstance(Object obj),該方法的作用是在運行時判斷指定的obj對象是否是當前Class實例所代表的類的實例。在這里我要提及一下Class這個類。在Java中每個類都有一個相對應的Class類的對象,換句話說:Java程序在啟動運行時 一個XXX.java類經過編譯生成XXX.class文件后,就會在JVM虛擬機中產生一個XXX類對應的Class類的對象,用于表示這個XXX類的類型信息,其核心作用可以總結為如下4點:

1.java.lang.Class類是Java中的反射中心,在運行時提供或獲得某個對象的類型信息。

2.java是大小寫敏感的,因此Class和關鍵字class并不沖突。

3.當我們創建一個類Car時,Java會自動生成一個內容是Car的Class類的對象, Car.class。

4.Class類的對象只能由JVM創建,無法通過new來創建。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-03-28 18:40:02

LinuxWindowsJava

2021-08-13 05:50:01

ContainerdDockerKubernetes

2019-09-23 10:51:14

JavaJava虛擬機Linux

2024-01-09 08:24:47

JMM核心線程

2021-10-25 16:01:01

Linux設備樹字符串

2017-07-28 09:11:14

HIVEHBASE區別

2024-04-10 13:50:41

CentOSUbuntu操作系統

2022-08-17 18:25:37

Java分布式搜索引擎

2021-08-31 07:02:20

Diff算法DOM

2023-08-01 08:27:15

Java I/ONIO

2021-07-05 00:00:55

TomcatNginxApache

2023-12-28 07:37:24

CAS內存阻塞

2020-10-29 08:55:04

微服務

2021-10-06 20:23:08

Linux共享內存

2020-03-03 17:47:07

UDP TCP面試題

2022-04-15 08:03:41

SaaS應用管理市場

2021-08-31 07:02:34

數據響應Vue偵測數據變化

2021-04-19 17:32:34

Java內存模型

2020-11-04 07:49:04

Select

2021-04-15 09:41:30

云計算PAASSAAS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区精品在线 | 成人免费毛片在线观看 | 久久久久久影院 | 色综合天天网 | 午夜精品一区二区三区在线视 | 日韩一区二区在线视频 | 涩爱av一区二区三区 | 欧美精品久久久 | 国产在线网址 | 在线一区二区三区 | 日韩二区 | 日本电影网站 | 成人一区二区三区在线观看 | 国产精品一卡二卡三卡 | 亚洲精品久久久一区二区三区 | 成人在线一区二区 | 日韩一区二区在线视频 | 九九热精| 亚洲精品乱码久久久久久按摩观 | 成人午夜免费视频 | 在线观看视频h | 国产成人精品一区二区三区 | 一区二区中文字幕 | 四虎影视一区二区 | 欧美日韩亚洲国产综合 | 日本羞羞影院 | 国产精品99999 | 北条麻妃av一区二区三区 | 精品在线一区 | 看毛片网站 | 99国产精品99久久久久久 | 欧美黄色一区 | 99免费在线视频 | 欧美一级视频在线观看 | 一区二区三区精品视频 | 欧美日韩在线一区二区 | 日本不卡一区二区三区在线观看 | 国产高清在线精品一区二区三区 | 亚洲一一在线 | 精品一区二区不卡 | 国产精品国产三级国产aⅴ中文 |