java 獲取字節(jié)碼文件的幾種方法總結(jié)
java 獲取字節(jié)碼文件的幾種方法總結(jié)
在本文中,以Person類為例,將分別演示獲取該類字節(jié)碼文件的三種方式,
其具體思想及代碼如下所示:
public class Person {
private int age;
private String name;
public Person() {
System.out.println("person run");
}
public Person(String name, int age) {
this.age = age;
this.name = name;
System.out.println("Person param run..." + this.name + ":" + this.age);
}
public void showInfo() {
System.out.println(this.name + "......" + this.age);
}
}
public class GetClassFile {
public static void main(String[] args) throws ClassNotFoundException {
getClassObject_3();
}
/**
* 通過給定的類的字符串名稱就可以獲取該類的字節(jié)碼文件,更利于擴展
* 可以用Class類中的"forName()"方法來完成
*/
public static void getClassObject_3() throws ClassNotFoundException {
// 包名一定要寫全,否則會報"java.lang.ClassNotFoundException"異常
String className = "src.Person";
Class clazz = Class.forName(className);
System.out.println(clazz);
}
/**
* 任何數(shù)據(jù)類型都具備一個靜態(tài)屬性
* 通過".class"來獲取對應(yīng)的Class對象
* 擴展性較差
*/
public static void getClassObject_2() {
Class clazz = Person.class;
Class clazz1 = Person.class;
System.out.println(clazz == clazz1);
}
/**
* 運用Object類中的getClass方法
* 用這個方法時,必須明確具體的類,并創(chuàng)建對象
* 比較麻煩
*/
public static void getClassObject_1() {
Person p = new Person();
Class clazz = p.getClass();
Person p1 = new Person();
Class clazz1 = p1.getClass();
System.out.println(clazz == clazz1);
}
}
以上就是java 獲取字節(jié)碼文件的幾種方法,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
springboot異步處理@NotBlank或@NotNull注釋校驗不生效問題
這篇文章主要介紹了springboot異步處理@NotBlank或@NotNull注釋校驗不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
java使用poi自定義excel標(biāo)題頭并導(dǎo)出方式
這篇文章主要介紹了java使用poi自定義excel標(biāo)題頭并導(dǎo)出方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
SpringBoot獲取配置文件內(nèi)容的幾種方式總結(jié)
大家都知道SpringBoot獲取配置文件的方法有很多,下面這篇文章主要給大家介紹了關(guān)于SpringBoot獲取配置文件內(nèi)容的幾種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02
Spring Cloud Alibaba 本地調(diào)試介紹及方案設(shè)計
為了解決 本地調(diào)試 的問題,本文實現(xiàn)了一種簡單實用的策略,可以通過 Nacos 動態(tài)配置服務(wù)路由,還可以基于用戶,部門,組織等級別配置服務(wù)路由,實現(xiàn) 本地調(diào)試 的同時,實際上也實現(xiàn) 灰度發(fā)布,感興趣的朋友跟隨小編一起看看吧2021-07-07
Java11中基于嵌套關(guān)系的訪問控制優(yōu)化詳解
Java(和其他語言)通過內(nèi)部類支持嵌套類,要使其正常工作,需要編譯器執(zhí)行一些技巧,下面這篇文章主要給大家介紹了關(guān)于Java11中基于嵌套關(guān)系的訪問控制優(yōu)化的相關(guān)資料,需要的朋友可以參考下2022-01-01
簡單介紹區(qū)分applet和application的方法
applet和application都是Java語言編寫出來的應(yīng)用程序,本文簡單介紹了二者的不同之處,需要的朋友可以參考下2017-09-09
關(guān)于MyBatis中SqlSessionFactory和SqlSession簡解
這篇文章主要介紹了MyBatis中SqlSessionFactory和SqlSession簡解,具有很好的參考價值,希望大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

