亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中class類的作用是什么

發布時間:2021-01-13 16:46:41 來源:億速云 閱讀:3226 作者:Leah 欄目:編程語言

這篇文章給大家介紹Java中class類的作用是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Class 類是在Java語言中定義一個特定類的實現。一個類的定義包含成員變量,成員方法,還有這個類實現的接口,以及這個類的父類。Class類的對象用于表示當前運行的 Java 應用程序中的類和接口。 比如:每個數組均屬于一個 Class 類對象,所有具有相同元素類型和維數的數組共享一個Class 對象。基本的 Java 類型(boolean, byte, char, short,int, long, float 和 double) 和 void 類型也可表示為 Class 對象。

以下示例使用 Class 對象顯示一個對象的 Class 名:

void printClassName(Object obj) {
System.out.println("The class of " + obj + " is " + obj.getClass().getName()); }

我們都知道所有的java類都是繼承了object這個類,在object這個類中有一個方法:getclass().這個方法是用來取得該類已經被實例化了的對象的該類的引用,這個引用指向的是Class類的對象(呵呵,有點別扭)。我們自己無法生成一個Class對象(構造函數為private),而這個Class類的對象是在當各類被調入時,由 Java 虛擬機自動創建 Class 對象,或通過類裝載器中的 defineClass 方法生成。 我們生成的對象都會有個字段記錄該對象所屬類在CLass類的對象的所在位置。如下圖所示:

Java中class類的作用是什么

我們可以把每個Class類的對象當做眾多類的代理。而且在每個Class類對象中有會有字段記錄他引用的這個類的類加載器。如果該字段為null,表示該類的加載器為bootstrap loader.具體原因見我之前分享過的一篇“《ClassLoader工作機制 》”一文。

Java中class類的作用是什么

我們知道java中有多個加載器,每個加載器能載入多個類,所以只要取得Class類對象,就可利用其getClassLoader()方法取得該類加載器的引用。

jvm為每種類管理者獨一的Class對象。因此我們可以用雙等號操作符來比較對象:a1.getClass()==A.class;應該返回的是true。

forName(String classname)和 forName(Stringclassname,{*}boolean initialze,*ClassLoader *loader)*方法。

該方法返回給定串名相應的Class對象。若給定一個類或接口的完整路徑名,那么此方法將試圖定位、裝載和連接該類。若成功,返回該類對象。否則,拋出ClassNotFoundException異常。例如,下面代碼段返回名為java.lang.Thread的運行Class描述器。Classt=Class.forName("java.lang.Thread");此方法是需要指定類加載器的,當用到僅有一個String參數的forName方法時,Class對象將默認調用當前類加載器作為加載器和將第二參數為true。第二個參數說明:如果是false時,調用forName方法只是在命令類加載器載入該類,而不初始化該類的靜態區塊,只有當該類第一次實例化時,靜態區塊才被調用。當為true時,則載入時就調用靜態區塊。

getClassLoader()

獲取該類的類裝載器。

getComponentType()

如果當前類表示一個數組,則返回表示該數組組件的Class對象,否則返回null。

getConstructor(Class[])

返回當前Class對象表示的類的指定的公有構造子對象。

getConstructors()

返回當前Class對象表示的類的所有公有構造子對象數組。

getDeclaredConstructor(Class[])

返回當前Class對象表示的類的指定已說明的一個構造子對象。

getDeclaredConstructors()

返回當前Class對象表示的類的所有已說明的構造子對象數組。

getDeclaredField(String)

返回當前Class對象表示的類或接口的指定已說明的一個域對象。

getDeclaredFields()

返回當前Class對象表示的類或接口的所有已說明的域對象數組。

getDeclaredMethod(String,Class[])

返回當前Class對象表示的類或接口的指定已說明的一個方法對象。

getDeclaredMethods()

返回Class對象表示的類或接口的所有已說明的方法數組。

getField(String)

返回當前Class對象表示的類或接口的指定的公有成員域對象。

getFields()

返回當前Class對象表示的類或接口的所有可訪問的公有域對象數組。

getInterfaces()

返回當前對象表示的類或接口實現的接口。

getMethod(String,Class[])

返回當前Class對象表示的類或接口的指定的公有成員方法對象。

getMethods()

返回當前Class對象表示的類或接口的所有公有成員方法對象數組,包括已聲明的和從父類繼承的方法。

getModifiers()

返回該類或接口的Java語言修改器代碼。

getName()

返回Class對象表示的類型(類、接口、數組或基類型)的完整路徑名字符串。

getResource(String)

按指定名查找資源。

getResourceAsStream(String)

用給定名查找資源。

getSigners()

獲取類標記。

getSuperclass()

如果此對象表示除Object外的任一類,那么返回此對象的父類對象。

isArray()

如果Class對象表示一個數組則返回true,否則返回false。

isAssignableFrom(Class)

判定Class對象表示的類或接口是否同參數指定的Class表示的類或接口相同,或是其父類。

isInstance(Object)

此方法是Java語言instanceof操作的動態等價方法。

isInterface()

判定指定的Class對象是否表示一個接口類型。

isPrimitive()

判定指定的Class對象是否表示一個Java的基類型。

newInstance()

創建類的新實例。

toString()

將對象轉換為字符串。

關于Java中class類的作用是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江北区| 墨竹工卡县| 郑州市| 阿巴嘎旗| 宝鸡市| 汕尾市| 中西区| 沁源县| 永寿县| 新丰县| 永州市| 宜兰市| 通许县| 民丰县| 沅江市| 视频| 石首市| 日喀则市| 玉环县| 临湘市| 门源| 宁武县| 舞钢市| 垫江县| 正安县| 永德县| 阿合奇县| 墨竹工卡县| 嘉荫县| 阿拉善左旗| 杭锦后旗| 佳木斯市| 友谊县| 藁城市| 靖边县| 罗定市| 昌乐县| 馆陶县| 宜城市| 循化| 新龙县|