導航:首頁 > 編程語言 > java讀取class

java讀取class

發布時間:2022-08-30 08:26:43

java 怎麼獲取t的class

1. public Type getGenericSuperclass()
用來返回表示當前Class 所表示的實體(類、介面、基本類型或 void)的直接超類的Type。如果這個直接超類是參數化類型的,則返回的Type對象必須明確反映在源代碼中聲明時使用的類型。比如:

import java.lang.reflect.ParameterizedType;
public class GT1 extends GT2<Integer>{
public static void main(String[] args) {
System.out.println(((ParameterizedType)new GT1().getClass().getGenericSuperclass()));
}
}

則輸出結果即為:
GT2<java.lang.Integer>

如果此Class代表的是Object 類、介面、基本類型或 void,則返回 null。。如果此對象表示一個數組類,則返回表示 Object 類的 Class 對象。

2. public Type[] getGenericInterfaces()
與上面那個方法類似,只不過Java的類可以實現多個介面,所以返回的Type必須用數組來存儲。
以上兩個方法返回的都是Type對象或數組,在我們的這個話題中,Class都是代表的參數化類型,因此可以將Type對象Cast成ParameterizedType對象。而 ParameterizedType對象有一個方法, getActualTypeArguments()。
public Type[] getActualTypeArguments()
用來返回一個Type對象數組,這個數組代表著這個Type聲明中實際使用的類型。接著使用上面的例子:

import java.lang.reflect.ParameterizedType;
public class GT1 extends GT2<Integer>{
public static void main(String[] args) {
System.out.println(((ParameterizedType)new GT1().getClass().getGenericSuperclass()).getActualTypeArguments()[0]);
}
}

⑵ java 如何獲取基本類的class

publicstaticObjectgetType(Classc)throwsException{
Fieldf=c.getDeclaredField("TYPE");
Objectobj=f.get(c);
returnobj;
}
publicstaticvoidmain(String[]args)throwsException{
System.out.println(getType(Integer.class));
}

⑶ java怎麼查看.class文件

.java文件通過編譯後會產生.class文件,一般在同一個目錄下,但是如果用的工具編寫就不一定了,如果直接打開.class就直接用記事本打開,但因為是編譯後的位元組碼文件都是亂碼,如果想通過.class查看編譯前的java文件,就去找個反編譯工具變為java文件就可以看到源代碼

⑷ java 關於class提取問題

沒有提取這個說法。
你說的意思有點歧義:

1,如果你說的是要在某個class中聲明一個method為「public void govern(People youth, People alts, People seniors, Environment environment){}」那麼,小括弧中那四組用逗號隔開的「東西」叫做形參,他們表示,如果你要是在某個地方使用這個方法,必須傳入上面的四個形參。
「People youth」意思是一個People類型的參數,其他的三個形參也同理。

2,如果你說的是在某個地方要調用一個class裡面的method 「public void govern(People youth, People alts, People seniors, Environment environment){}」的話,是不能這么寫的,調用和聲明不一樣,只要寫上方法名字和實參(和形參不一樣,形參只是表名參數類型,其實當前是不存在的,而實參是實實在在有的):形式為:「govern( youth, alts, seniors, environment);」

一個是聲明,一個是調用,就這點區別,樓主看看就清楚了

⑸ java 獲取class對象

這是java中的反射機制,反射是java程序開發語言的特徵之一,它允許動態發現和綁定類、方法、欄位以及所有其他的元素。它有一些功能如:1、在運行是判斷一個對象所屬的類 2、在運行時構造任意一個類的對象 3、在運行時判斷任意一個類所具有的成員變數和方法 4、在運行時地能夠調用任意一個方法,甚至是private的方法 5、生成動態代理

⑹ java如何獲取class所對應的.java文件的路徑

java程序運行的時候,只是運行的class文件,你把.java文件放到任何一個目錄都可以

如果必須得到的話,那就只能每個路徑下都搜索一遍了。

⑺ java中如何得到一個數組的class的元素class

1、在Java中,所有的數組都有一個預設的屬性length,用於獲取數組中元素的個數。
2、數組的復制:System.array()。淺拷貝
3、數組的排序:Arrays.sort()。
4、在已排序的數組中查找某個元素:Arrays.binarySearch()。
5、獲取Class的三種方式:
(1)利用對象調用getClass()方法獲取該對象的Class實例;
(2)使用Class類的靜態方法forName(),用類的名字獲取一個Class實例;
(3)運用.class的方式來獲取Class實例,對於基本數據類型的封裝類,還可以採用.TYPE來獲取相對應的基本數據類型的Class實例。

⑻ Java 獲取包所有class

既然是封到包里的,遍歷確實是有點麻煩

思路如下:

  1. 輸入包名

  2. 轉換為資源路徑名,即以『/』替換『.』

  3. 找到ClassLoader,並獲得資源名對於的資源對象

  4. 判斷資源對象是否為jar包內

4.1若否,則使用文件系統進行處理為文件夾,之後遍歷名稱進行類載入。這里直接使用資源路徑名,會是其真實位置,不用關注因部署在tomcat上而產生的路徑變化。

4.2若是,則構造一個jar文件類,使用jar操作類遍歷內容,進行類載入。

實現參考(其實我只是把它的思路總結出來):http://guoliangqi.iteye.com/blog/644876

⑼ java 如何獲取 泛型的 class

package com.leo.common;
public class Genericity<T> {
public static void main(String[] args) {
Genericity<String> test = new Genericity<>("test1");
System.out.println(test.getGenericityName());
Genericity<Double> test1 = new Genericity<>(new Double(123));
System.out.println(test1.getGenericityName());
}
private T data;
public Genericity(T data) {
this.data = data;
}
public T getData() {
return this.data;
}
public String getGenericityName() {
return data.getClass().getName();
}
}

⑽ javac讀取classpath值嗎

肯定的了,classpath,翻譯過來就是class文件的路徑。所以應該和javac命令沒有關系的。他還有一個參數-d,下面是網路過來的。如果不進入.java文件所在的目錄,可以直接指定絕對路徑,而且可以一次編譯多個文件

以下三個命令可以滿足你的要求。
javac-dd: estd:.java
javac-dd: est-cpd: estc:a.java
java-cpd: esta
說明-d指定生成的class文件存放路徑
-cp指定引用的class文件存放路徑
閱讀全文

與java讀取class相關的資料

熱點內容
新手學電腦編程語言 瀏覽:891
雲空間在哪個文件夾 瀏覽:926
編程游戲小貓抓小魚 瀏覽:790
安卓dosbox怎麼打開 瀏覽:774
伺服器無影響是怎麼回事 瀏覽:952
比德電子采購平台加密 瀏覽:202
加密貨幣400億 瀏覽:524
植發2次加密 瀏覽:44
vc6查看編譯的錯誤 瀏覽:595
心理大全pdf 瀏覽:1002
區域鏈加密幣怎麼樣 瀏覽:343
查找命令符 瀏覽:95
壓縮工具zar 瀏覽:735
白盤怎麼解壓 瀏覽:475
辰語程序員學習筆記 瀏覽:47
程序員被公司勸退 瀏覽:523
java三子棋 瀏覽:693
加密空間怎麼強制進入 瀏覽:345
ug分割曲線命令 瀏覽:209
學碼思程序員 瀏覽:610