package com.tlk.proxy;
/**
* java靜態代理
* 步驟:
* 1.定義委託類Subject
* 2.定義實現類RealSubject
* 3.定義代理類Proxy
* 4.客戶端調用
* Created by tanlk on 2017/8/16 16:33.
*/
public class ProxyTest {
interface Subject {
void request();
}
static class RealSubject implements Subject {
public void request(){
System.out.println("RealSubject");
}
}
static class Proxy implements Subject {
private Subject subject;
public Proxy(Subject subject){
this.subject = subject;
}
public void request(){
System.out.println("begin");
//調用實現類對應的方法
subject.request();
System.out.println("end");
}
}
public static void main(String args[]) {
//傳入具體的實現類
Proxy p = new Proxy(new RealSubject());
p.request();
}
}
Java代理(二) 靜態代理
缺點
一個真實角色必須對應一個代理角色,但如果大量使用會導致類的急劇膨脹;此外,如果事先並不知道真實角色,該如何使用代理呢?這個問題可以通過Java的動態代理類來解決。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.