中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

水富县| 广元市| 策勒县| 句容市| 噶尔县| 柳河县| 定远县| 任丘市| 林芝县| 余姚市| 夹江县| 东源县| 会昌县| 锡林郭勒盟| 通河县| 达日县| 芦溪县| 房产| 南丰县| 海原县| 鄱阳县| 平武县| 和平区| 诏安县| 荔浦县| 阿勒泰市| 彰武县| 洮南市| 呈贡县| 志丹县| 新晃| 伽师县| 类乌齐县| 晴隆县| 兴仁县| 盈江县| 宾川县| 东阿县| 阿拉善右旗| 孙吴县| 九寨沟县|