请问在JAVA2SE中,能否根据输入的名字,譬如说在控制命令台输入“fruit”,就可以生成一个装fruit的容器类,本来想用switch case或者if之类的分支写法,但是这样扩展性就不够,只能规定出现自己写的情况。

解决方案 »

  1.   

    能想到扩展性不好,很不错。Java里面有反射,可以动态生成对象。你可以baidu/google查查。
      

  2.   

    其实我这个问题是来自于一个J2SE作业,这个作业要求模拟一个市场,然后市场里面有各个摊位,有卖肉的,卖水果的等等.....然后最后要求在命令控制台输入菜单对应的号码,执行号码后面的命令,其中有一条就是,“在市场中添加一个摊位”
      我是这样想的,“摊位”这个类里面有自己的名字,售货人,还有各种货物,售货人可以有多个,这需要一个容器来装,然后货物也需要一个容器。
      在执行添加摊位的命令时候,需要用户输入摊位的名字,售货的种类,输入名字这个功能比较容易实现,但是根据售货种类而生成对应的容器就比较麻烦,譬如说,我要添加一个卖布的摊位,但是我怎样才能自动生成一个装布类的容器?而且还有一个问题,我必须为每种货物建立一个父类,问题就来了,父类下面有非常多子类,举个例子,父类是水果类,假设就有苹果,香蕉,橙子这三个类,如果有三个摊位,那我的程序就有9个货物的子类!!这我想是非常不好,类爆炸了,但是因为我这菜单上有个功能是“买卖”,必须计算出货物的价格......请问有没有什么简单有效的方法消除这个类爆炸问题?谢谢!