java有包名的調用沒有包名的類,用反射


沒有包名,就是說在根目錄,普通項目就是在src下,maven項目就是在src/java目錄下

 

// 通過全類名,沒有包名就直接是類名,有包名就要加上包名,比如:com.xiaostudy.TLStringCoding
Class clazz = Class.forName("TLStringCoding");
// 獲取構造方法,沒有參數就是無參構造,如果要獲取有參構造,比如TLStringCoding(String name, Integer age)就用clazz.getConstructor(String.class, Integer.class)
Constructor constructor = clazz.getConstructor();
// 實例化一個對象
Object newInstance = constructor.newInstance();
// 獲取一個方法,第一個參數是方法名稱,后面的是方法參數類型,沒有參數的話可以寫null也可以不寫
Method file = clazz.getMethod("encryptFile", String.class, File.class);
// 使用獲取的方法,第一個參數是對象,后面的具體參數,參數類型跟上面一致
byte[] b = (byte[]) file.invoke(newInstance, key, new File("E:\\工作文件\\自測用例\\Canal.docx"));

 


免責聲明!

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



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