package Command;
public abstract class Command
{protected Receiver receiver;
public Command(Receiver receiver) {
this.receiver = receiver;
}
public abstract void Execute();
}
package Command;
public class ConcreteCommand extends Command {
public ConcreteCommand(Receiver receiver) {
super(receiver);
// TODO 自动生成的构造函数存根
}
@Override
public void Execute() {
receiver.Action();
}
}
package Command;
public class Invoker {
private Command command;
public void setCommand(Command command)
{this.command=command;
}
public void Notify()
{command.Execute();
}
}
package Command;
public class Receiver {
public void Action()
{System.out.println("执行请求");
}
}
package Command;
public class Test {
public static void main(String args[])
{Receiver r=new Receiver();
Command c=new ConcreteCommand(r);
Invoker i=new Invoker();
i.setCommand(c);
i.Notify();
}
}