public abstract class BankTemplateMethod {
public void takeNumber (){
System.out .println("取号排队" );
}
public abstract void transact ();
public void evaluate (){
System.out .println("反馈评分" );
}
public final void process (){
this .takeNumber();
this .transact();
this .evaluate();
}
}
public class Client {
public static void main (String[] args) {
BankTemplateMethod btm = new DrawMoney();
btm.process();
BankTemplateMethod btm2 = new BankTemplateMethod() {
@Override
public void transact () {
System.out .println("我要存钱!" );
}
};
btm2.process();
BankTemplateMethod btm3 = new BankTemplateMethod() {
@Override
public void transact () {
System.out .println("我要理财!我这里有2000万韩币" );
}
};
btm3.process();
}
}
class DrawMoney extends BankTemplateMethod {
@Override
public void transact () {
System.out .println("我要取款!!!" );
}
}