这里所说的代理并非是设计模式中的代理,只是继承和组合的公用。
比如一个商家Shop卖书
然后找了个代理Me帮他卖书
代码如下:
创建商店类
public class Shop {
void book1() {
System.out.println("sell book1");
}
void book2() {
System.out.println("sell book2");
}
void book3() {
System.out.println("sell book3");
}
}
创建代理类(我)
public class Me extends Shop {
private Shop shop = new Shop();
public void book1() {
shop.book1();
}
public void book2() {
shop.book2();
}
public void book3() {
shop.book3();
}
public static void main(String[] args) {
Me me = new Me();
me.book1();
me.book2();
me.book3();
}
}
当在我(Me)类中加入 private Shop shop = new Shop();
就相当于我有了shop的所有方法。
表面上是我在卖书,其实真正的是调用的商店的卖书的方法。