public abstract class Beverage {
final void preparerecipe(){
boilWater();
brew();
pourInCup();
addCondiments();
hook();
}
public void boilWater(){
System.out.println("获得热水");
}
public abstract void brew();
public void pourInCup(){
System.out.println("把饮料倒入杯中");
}
public abstract void addCondiments();
public void hook(){}
}
具体类:
咖啡
public class Coffee extends Beverage {
@Override
public void brew() {
// TODO Auto-generated method stub
System.out.println("冲咖啡");
}
@Override
public void addCondiments() {
// TODO Auto-generated method stub
System.out.println("加牛奶");
}
@Override
public void hook() {
// TODO Auto-generated method stub
super.hook();
System.out.println("加点糖");
}
} 茶
public class Tea extends Beverage{
@Override
public void brew() {
// TODO Auto-generated method stub
System.out.println("冲茶");
}
@Override
public void addCondiments() {
// TODO Auto-generated method stub
System.out.println("加蜂蜜");
}
}
测试类:
public static void main(String[] args) {
// TODO Auto-generated method stub
Coffee coffee = new Coffee();
coffee.preparerecipe();
System.out.println("---喝茶---");
Tea tea = new Tea();
tea.preparerecipe();
} 测试结果: