獲得類的字節碼對象的三種方式


java源碼(xxx.java)通過編譯后形成字節碼文件,字節碼文件通過類加載器獲得字節碼對象,

通過字節碼對象可以操作源碼中的屬性和方法。

方式一,使用類的class屬性:

 

Class<java.util.Date> clazz1 = java.util.Date.class;

 

方式二,通過Class類中的靜態方法forName(String className),傳入類的全限定名(必須添加完整包名)

 

Class<?> clazz2 = Class.forName(“java.util.Date”);

 

方式三,通過對象的getClass方法來實現,其中,getClass()是Object類中的方法,所有的對象都可以調用該方法

 

java.util.Date str = new java.util.Date();

 

Class<?> clazz3 = str.getClass();


通過類加載器獲得src下的任何資源的路徑(類加載器的使用)

public class Demo {
	public static void main(String[] args) {
		//獲得Demo的字節碼對象
		Class clazz=Demo.class;
		//獲得Demo字節碼文件的類加載器
		ClassLoader classLoader = clazz.getClassLoader();
		//獲得classes(src)下的任何資源,注意!!src下
		String path = classLoader.getResource("jdbc.properties").getPath();
		System.out.println(path);
	}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM