3、实现步骤
建立一个Java抽象类Drink,应当:
a、 声明一个抽象方法taste(),该方法负责输出饮料的味道;
b、 声明int型常量来代表不同的饮料类型(咖啡、啤酒、牛奶);
c、 声明静态工厂方法getDrink(int drinkType),根据传入的参数创建不同的饮料对象,并返回该对象,建议使用switch语句。该方法要求声明DrinkNotFoundException,当没有相对应的饮料类型时,抛出该异常。建立Drink的具体子类:
a、分别建立Drink的子类:Coffee(代表咖啡),Beer(代表啤酒),Milk(代表牛奶);
b、实现taste()方法,要求在控制台打印各自的味道特征。建立异常类DrinkNotFoundException
a、继承Exception
b、在Drink的方法getDrink(int drinkType)中声明引发DrinkNotFoundException异常,当传入的参数没有相对应的饮料类型时,抛出异常。
c、在使用getDrink方法的类中捕捉该异常。建立Test测试类,测试以上内容的正确性
a、编写main方法,通过命令行传参的方式传入某种饮料的类型。
b、在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。注意捕获DrinkNotFoundException。
c、然后调用该饮料对象的taste()方法,输出该饮料的味道。编译程序,并运行。
源代码
运行结果
品尝饮料: 1 使用命令行参数(饮料类型) 输出该饮料类型的味道 2 如果没有该种饮料 则输出没有。