久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

java中可以通過類的class屬性得到該類的字節(jié)碼文件對象?

瀏覽:126日期:2024-01-23 15:13:54

問題描述

如Class c1 = Student.class;可是無論是Student類還是它繼承的Object類都沒有class屬性呀?

問題解答

回答1:

謝邀。

首先糾正一個錯誤,class 是 keyword ,不是 Student 類里的 static member 。<class-name>.class 是 Java 中的某個特定語法。

其次,要得到該類的字節(jié)碼文件,必須到文件系統(tǒng)中去找,無非就是 Student.class.getResource/getResourceAsStream 之類的方法,比較麻煩。建議看下asm、cglib等字節(jié)碼開源項(xiàng)目。

最后,字節(jié)碼是種比較復(fù)雜的技術(shù),不得已而用之,比如獲取方法參數(shù)里的Annotation(參考Spring Web MVC)。有些貌似可能和字節(jié)碼有關(guān)的技術(shù),實(shí)際上可以繞過,例如基于interface的AOP,完全可以用Proxy而不是用字節(jié)碼來實(shí)現(xiàn)的。

回答2:

我查的一個說法是,這個不是一個關(guān)鍵字,而是一個字面量,你可以嘗試直接再ide中敲“Student.class”,是會提醒你需要將這個值賦給某個變量的。如果后續(xù)有查到新的會再補(bǔ)充,至于類加載的話,可以參考我的一篇博客自定義類加載器-從.class和.jar中讀取

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 健康| 休宁县| 武定县| 合山市| 扶余县| 怀仁县| 教育| 堆龙德庆县| 抚顺市| 仙游县| 宁海县| 黄大仙区| 青神县| 安义县| 康定县| 潢川县| 西贡区| 安达市| 广河县| 本溪市| 芷江| 五河县| 彩票| 绥德县| 万全县| 顺昌县| 绿春县| 惠水县| 阿坝| 遵化市| 都安| 紫云| 德昌县| 文登市| 明光市| 宁城县| 晋宁县| 当阳市| 辽宁省| 成安县| 通海县|