JAVA反射機(jī)制是在運(yùn)行狀態(tài)中, 對于任意一個類, 都能夠知道這個類的所有屬性和方法; 對于任意一個對象, 都能夠調(diào)用它的任意一個方法和屬性; 這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機(jī)制.
主要作用有三:
運(yùn)行時取得類的方法和字段的相關(guān)信息。
創(chuàng)建某個類的新實(shí)例(.newInstance())
取得字段引用直接獲取和設(shè)置對象字段,無論訪問修飾符是什么。
用處如下:
觀察或操作應(yīng)用程序的運(yùn)行時行為。
調(diào)試或測試程序,因?yàn)榭梢灾苯釉L問方法、構(gòu)造函數(shù)和成員字段。
通過名字調(diào)用不知道的方法并使用該信息來創(chuàng)建對象和調(diào)用方法。