經過反射咱們能夠獲得對象自己所具備的屬性和方法,用到的是Class類的getDeclaredMethods()和getDeclaredFields, 在java語言中當我進行反射操做時,須要進行java語言訪問的檢查,反射中有一個 AccessibleObject類,其中的setAccessible()方法用來控制java語言是否須要進行java語言訪問的檢查,當爲true是不須要進行檢查,若是爲false則須要檢查,當反射對象時,若是爲false咱們就不能對私有方法進行回調,會拋出java.lang.IllegalAccessException,由於咱們訪問的是一個私有的方法,當設置爲true時,java忽略修飾符檢查咱們能夠將它當成公有方法同樣回調,因此在java你也是能夠破壞封裝性的,調用一些類的私有屬性和私有方法的