成人免费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

2019-09-23 10:51:14

JavaJava虛擬機Linux

2021-08-13 05:50:01

ContainerdDockerKubernetes

2024-04-10 13:50:41

CentOSUbuntu操作系統

2017-07-28 09:11:14

HIVEHBASE區別

2021-10-25 16:01:01

Linux設備樹字符串

2024-01-09 08:24:47

JMM核心線程

2021-10-06 20:23:08

Linux共享內存

2020-10-29 08:55:04

微服務

2020-03-03 17:47:07

UDP TCP面試題

2023-12-28 07:37:24

CAS內存阻塞

2021-07-05 00:00:55

TomcatNginxApache

2023-10-30 18:08:50

2022-06-10 09:04:24

Python讀取文件代碼

2020-11-04 07:49:04

Select

2023-08-01 08:27:15

Java I/ONIO

2022-08-17 18:25:37

Java分布式搜索引擎

2021-08-31 07:02:20

Diff算法DOM

2021-04-02 06:17:10

大數加減乘除數據結構算法

2025-04-07 08:20:00

ORMPython代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女在线观看 | 桃花av在线 | 久久大陆 | 精品三级在线观看 | 国产精品久久久久无码av | 国产农村妇女毛片精品久久麻豆 | 一级毛片免费视频观看 | 久久久爽爽爽美女图片 | av激情影院| 日本不卡免费新一二三区 | 中文字幕免费 | 北条麻妃99精品青青久久 | 成人3d动漫一区二区三区91 | 国产一区二区免费电影 | 福利影院在线看 | 免费观看一级毛片视频 | 精品1区2区 | 亚洲三级国产 | 国产高清精品一区二区三区 | 日韩在线第一 | 成人久久18免费网站 | 永久免费av | 日本免费一区二区三区 | 国产精品久久9 | 热久久性 | 欧美一卡二卡在线观看 | 欧美日韩一区精品 | 青青久久 | 国产一区二区在线免费观看 | 国产精品久久久久久久久久久免费看 | 欧美一区二区三区高清视频 | h视频免费看| 日韩视频区 | 日韩一级二级片 | 欧美三级电影在线播放 | 日韩欧美国产电影 | 高清av电影| 成在线人视频免费视频 | 日本福利视频 | 在线欧美视频 | 国产xxxx搡xxxxx搡麻豆 |