1. 程式人生 > >淺談我對java.lang.reflect包中的動態代理物件Proxy的理解

淺談我對java.lang.reflect包中的動態代理物件Proxy的理解

首先,動態代理物件是一個物件,被它代理的也是一個物件,而不是類!

一般而言,為了增強某個物件的功能,就建立該物件的動態代理物件,有點類似於包裝。

Proxy的最重要的方法是Proxy.newProxyInstance(loader, interfaces, h);

預設動態代理物件是一個Object型別,但它可以被強轉成interfaces中任一介面的型別,從而使用該型別的方法。

需要注意的是,它並不可以強轉成被代理物件的型別,而只能轉成它實現的介面型別。(有點奇怪)