------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------
------小弟在因特網的小窩,祝願所有的朋友身體健康-------
反射:
反射就是用不正常的方式調用某個類的成員進行實例化 調用方法等;
通常用於框架編程;
Class.forname(類名)獲取類的字節碼 就是那個xxxx.class;
isprimitve判斷是否基本數據類型;
isarray判斷是否數組;
getconstactor獲取構造方法;
newinstance實例化對象;
fieldy.get(pt1)獲取pt1對象的成員變量的值;
私有的成員是拿不到的;
getdecalredfield忽略權限;
先setaccessable(true)暴力獲取(非正常的使用,哈哈)
字節碼可以直接用==比較,比用equals專業;
.invoke(參數)第一個參數可以爲null,說明是靜態參數;
參數調用時候會被自動拆包,前面加個強轉的標誌就不會被拆了;
數組的類型若形同,維數也相同,字節碼就是同一份,否則不是;
hashset中的東西加入後再去修改值,再去remove掉,會造成內存泄露,沒有能夠完全釋放元素佔用的內存空間;
框架和工具類的區別:
框架是別人調用我們;工具類是我們調用別人;
寫好的成熟的框架,我們可以去實現;