建立一个java抽象类drink_一个简单java作业

匿名用户

1级

2012-04-09 回答

话说你这样的题目很蛋疼,用int常数来代表饮料类型这是特别扭的想法,不知道是你的想法还是题目本身就是这样,假如是你自己的想法我想不到怎么去写,假如不使用int常数代表,5分钟应该搞定了,就是想问问你有没有改了题目,习惯了不用switch语句...

追问:

先感谢您的回答。

题目没错是这样的,

由于我是初学,老师布置的作业,我其实也觉得switch有点别扭,

至于int,我的想法是用final先设定好static final int COFFEE = 1;

再用switch。

追答:

Drinkl类:

public abstract class Drink {

abstract void taste();

static final int COFFEEID= 1;

static final int BEERID = 2;

static final int MILKID = 3;

static Drink getDrink(int getDrinkTypt){

switch(getDrinkTypt){

case COFFEEID: return new Coffee();

case BEERID: return new Beer();

case MILKID: return new Milk();

}

return null;

}

}

Coffee类,Beer,Milk的根Coffee的差不多,改一下类名和打印语句就好了。

public class Coffee extends Drink {

void taste() {

System.out.println("It tastes like coffee...");

}

}

Test类:

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

System.out.println("请输入1到3整数");

Scanner s = new Scanner(System.in);

int i = s.nextInt();

Drink drink = Drink.getDrink(i);

System.out.println("取到的对象是:" + drink.getClass().getName());

drink.taste();

}

}

谢谢LZ,祝你早日NB

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值