當前位置:編程學習大全網 - 源碼下載 - Java中用.getClass或者類名.class得到字節碼文件有什麽作用,得到之後怎麽使用?有意義嗎?

Java中用.getClass或者類名.class得到字節碼文件有什麽作用,得到之後怎麽使用?有意義嗎?

1,Class類有什麽用?

Class類的實例表示java應用運行時的類(Class ans enum)或接口(interface and annotation)(每個java類運行時都在JVM裏表現為壹個Class對象,可通過類名.Class,類型.getClass(),Class.forName("類名")等方法獲取Class對象)。數組同樣也被映射為為Class 對象的壹個類,所有具有相同元素類型和維數的數組都***享該 Class 對象。基本類型boolean,byte,char,short,int,long,float,double和關鍵字void同樣表現為 Class對象。

2,Class類的特征

Class類沒有公有的構造方法,它由JVM自動調用(在new對象或者加載-ClassLoader時)。

下面的方法作用是打印出對象的Class name:

void printClassName(Object obj) {

System.out.println("The Class of " + obj + " is " + obj.getClass().getName());

}

同樣可以根據Class literal 獲得Class name:

System.out.println("The name of Class Foo is: "+Foo.Class.getName());//妳可以將Foo改為void嘗試下。

3,Class的用法示例

如我們定義壹個類:

public Class Test{

//Constructor

public Test(){this("");}

public Test(String name){}

//Field

public int id;

public String name;

//Method

public void testMethod(){

}

}

我們可以:

Class c = Class.forName("Test");

Method m[] = c.getDeclaredMethods();

for (int i = 0; i < m.length; i++)

System.out.println(m[i].toString());//輸出testMethod

}

Constructor c[] = cls.getDeclaredConstructors();

for (int i = 0; i < c.length; i++) {

Constructor ct = c[i];

System.out.println("name = " + ct.getName());//輸出兩個構造函數信息

  • 上一篇:電子商務的“O2O模式”是什麽意思
  • 下一篇:期貨程序化交易軟件哪個比較好
  • copyright 2024編程學習大全網