動(dòng)態(tài)代理的局限性
從動(dòng)態(tài)代理的使用方法中我們看到其實(shí)可以被增強(qiáng)的方法都是實(shí)現(xiàn)了借口的(不實(shí)現(xiàn)借口的public方法也可以通過繼承被代理類來(lái)使用),代碼中的HouseOwner繼承了RentHouse 。而對(duì)于private方法JDK的動(dòng)態(tài)代理無(wú)能為力异赫!
以上的動(dòng)態(tài)代理是JDK的,對(duì)于java工程還有大名鼎鼎的CGLib卵慰,但遺憾的是CGLib并不能在android中使用,android虛擬機(jī)相對(duì)與jvm還是有區(qū)別的。
實(shí)現(xiàn)了接口的private方法也可以被動(dòng)態(tài)代理是么弛针?只有沒有實(shí)現(xiàn)接口的類的私有方法不能被代理?
java動(dòng)態(tài)代理機(jī)制--那些讓你面試脫穎而出的技能retrofit是一個(gè)解耦性非常高的網(wǎng)絡(luò)請(qǐng)求框架李皇,最近在研究的時(shí)候發(fā)現(xiàn)了動(dòng)態(tài)代理這個(gè)非常強(qiáng)大且實(shí)用的技術(shù)削茁,這篇文章將作為retrofit的前置知識(shí),讓大家認(rèn)識(shí):動(dòng)態(tài)代理有哪些...