java初学者提问(里面有代码)

王朝知道·作者佚名  2009-07-20
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

//Drink抽象类

abstract class Drink{

Drink(){}

//抽象方法

abstract void taste();

public static final int coffee=1,beer=2,milk=3;

//getDrink方法,获取饮料类型

static void getDrink(int drinkType){

//异常

try{

//创建不同饮料的对象

switch(drinkType){

case coffee:Coffee objCoffee=new Coffee();objCoffee.taste();break;

case beer:Beer objBeer=new Beer();objBeer.taste();break;

case milk:Milk objMilk=new Milk();objMilk.taste();break;

default:throw new DrinkNotFoundException();

}

}catch(DrinkNotFoundException e){

System.err.println(e+":对不起,没有您输入的饮料类型");

}

}

}

//Coffee,Beer,Milk三个Drink的子类,重写Drink的taste抽象方法

class Coffee extends Drink{

Coffee(){}

void taste(){

System.out.println("咖啡:苦");

}

}

class Beer extends Drink{

Beer(){}

void taste(){

System.out.println("啤酒:爽");

}

}

class Milk extends Drink{

Milk(){}

void taste(){

System.out.println("牛奶:香");

}

}

//自定义异常DrinkNotFoundException

class DrinkNotFoundException extends Exception{

DrinkNotFoundException(){}

}

//测试类

public class Taste{

Taste(){}

//main方法

public static void main(String [] args){

//异常

try{

int i;

//判断是否是数字

for(i=0;i<args[0].length();i++){

if(args[0].charAt(i)<'0' || args[0].charAt(i)>'9'){

throw new DrinkNotFoundException();

}

}

int drink=Integer.parseInt(args[0]);

Drink.getDrink(drink);

}catch(DrinkNotFoundException e){

System.err.println(e+":对不起,没有您输入的饮料类");

}

}

}

上面这段代码是没有问题的

我想把getDrink()方法改成可返回对象的static Object getDrink(int drinkType)

然后当case符合条件就反回相应的对象

再在main方法中用对象使用相应的taste()方法

请大家帮帮我最好加我QQ:***********

參考答案:

同意

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航