您好,登錄后才能下訂單哦!
這篇文章主要講解了如何使用Java反射技術,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
產生反射技術的需求:
一個網站有計算器功能,剛開始他們只有加減乘除的計算,后來他們決定增加上求乘方、求根號的計算,他們通過“關停網站后修改源代碼“來增加上他們需要的功能。第二次,他們加上xx功能,他們還是關停網站加功能。。。。后來他們發現應該把這個”功能模塊“獨立出來,任何功能實現都通過讀取這個文件來實現,比如想要實現乘方功能就需要查看這個模塊中是否定義了乘方功能。另外,將它獨立出來后,它一個模塊并不影響整個板塊的功能。
【上面的例子中,其他板塊如果想要知道獨立的模塊的內容(屬性、方法),那么就要利用到反射技術,反射技術可以使程序在運行時解析外部對象的信息。】
PS:
如果你已經了解了 為什么需要反射,那么你可以繼續向下了,如果不了解,那么你可能需要了解更多再深入。
getDeclaredConstructor(參數類型列表)
來獲取構造方法。同樣的,getDeclaredConstructors()
是獲取所有不論public還是非public的構造方法。getMethod(方法名, 參數類型列表)
:獲取public的指定名的方法getMethods()
:獲取public的所有方法getDeclaredMethod(方法名, 參數類型列表)
:獲取不論public還是非public的指定名的方法【用來獲取私有的方法】
getDeclaredMethods()
:獲取不論public還是非public的方法
然后使用Method對象操作:
非靜態方法調用:Method對象.invoke(對象名,對象名…)
靜態方法調用:Method對象.invoke(null)
看完上述內容,是不是對如何使用Java反射技術有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。