亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

java獲取Class對象的方法

時間:2024-08-12 06:02:00 java語言 我要投稿
  • 相關(guān)推薦

java獲取Class對象的方法

  導語:java中的Class類對象是可以人工自然性的得到的,下面是相關(guān)介紹,歡迎參考!

  獲取Class對象有三種方式:

  1.通過Object類的getClass()方法。例如:

  Class c1 = new String("").getClass();

  2.通過Class類的靜態(tài)方法——forName()來實現(xiàn):

  Class c2 = Class.forName("MyObject");

  3.如果T是一個已定義的類型的話,在java中,它的.class文件名:T.class就代表了與其匹配的Class對象,例如:

  Class c3 = Manager.class;

  Class c4 = int.class;

  Class c5 = Double[].class;

  這里需要解釋一下3:請記住一句話,java中,一切皆對象。也就是說,基本類型int float 等也會在jvm的內(nèi)存池像其他類型一樣中生成一個Class對象。而數(shù)組等組合型數(shù)據(jù)類型也是會生成一個Class對象的,而且更令人驚訝的是,java中數(shù)組的本來面目其實就是某個類,驚訝中的驚訝是,含有相同元素的相同維數(shù)的數(shù)組還會共同享用同一個Class對象!其實根據(jù)我的臆想,數(shù)組的length性質(zhì)應(yīng)該就保存在這個Class對象里面。

  Class類中存在以下幾個重要的方法:

  1.getName()

  一個Class對象描述了一個特定類的特定屬性,而這個方法就是返回String形式的該類的簡要描述。由于歷史原因,對數(shù)組的Class對象調(diào)用該方法會產(chǎn)生奇怪的結(jié)果。

  2.newInstance()

  該方法可以根據(jù)某個Class對象產(chǎn)生其對應(yīng)類的實例。需要強調(diào)的是,它調(diào)用的是此類的默認構(gòu)造方法。例如:

  MyObject x = new MyObject();

  MyObject y = x.getClass().newInstance();

  3.getClassLoader()

  返回該Class對象對應(yīng)的類的類加載器。

  4.getComponentType()

  該方法針對數(shù)組對象的Class對象,可以得到該數(shù)組的組成元素所對應(yīng)對象的Class對象。例如:

  int[] ints = new int[]{1,2,3};

  Class class1 = ints.getClass();

  Class class2 = class1.getComponentType();

  而這里得到的class2對象所對應(yīng)的就應(yīng)該是int這個基本類型的Class對象。

  5.getSuperClass()

  返回某子類所對應(yīng)的直接父類所對應(yīng)的Class對象。

  6.isArray()

  判定此Class對象所對應(yīng)的是否是一個數(shù)組對象。


【java獲取Class對象的方法】相關(guān)文章:

Java獲取UTC時間的方法08-09

Java編程中獲取路徑的方法09-06

java - public class與class的區(qū)別詳解09-29

java面向?qū)ο缶幊痰姆椒ㄙY料06-05

關(guān)于Java中對象的銷毀方法分析09-03

Java語言Class文件是什么09-02

查看java對象所占的內(nèi)存大小的方法09-03

Java中創(chuàng)建對象的5種方法06-04

Java面試題如何通過反射獲取和設(shè)置對象私有字段的值09-13