我试了一下,代理类不实现接口,用继承也行,那为什么要用接口呢?为什么呢?代码如下: 接口:public interface Moveable {    void move();} 真实类:public class Tank implements Moveable {      public void move() {        System.out.println("Tank Moving...");        try {            Thread.sleep(3000);        } catch (InterruptedException e) {            e.printStackTrace();        }    ​
 }
    } 代理类1:public class TankExtends extends Tank {    Tank t;    public TankExtends(Tank t){        this.t = t;    }    public void move() {        long start = System.currentTimeMillis();        System.out.println("time:" + start);        t.move();        long end = System.currentTimeMillis();        System.out.println("time:" + end);     }} 代理类2:public class TankExtends2 extends Tank {    Tank t;    public TankExtends2(Tank t){        this.t = t;    }    public void move() {        System.out.println("start");        t.move();        System.out.println("exit");    }} 运行类:public class Client { public static void main(String[] args) {  Tank t = new Tank();  Tank te2 = new TankExtends2(t);  Tank te = new TankExtends(te2);  te.move();
 }
​}