1

我的问题类似于:

使用字符串值创建变量名

但我希望从不同的角度来看待它。

想要命名每个对象的原因是我可以稍后专门调用,并使用相同的语句创建多个对象。理想情况下,这就是我想要的工作。

String dogName = reader.nextLine();

int legs  = reader.nextInt();

char beenFed = reader.nextChar();

new dogName = dog(dogName, legs, fed) `

我知道java不能接受变量作为对象名。但是假设我要创建三只狗,“Red”、“Blue”和“Jeff”,我该如何配置它,以便以后用户可以进入

Red.getLegCount();

Blue.hasBeenFed();

等等

我还能如何创建这个场景?如果我想制作许多不同名称的 Dog 对象,我该怎么做?如果这不是一个好主意,我能做些什么呢?

PS - Stack Overflow 上的第一篇文章。请指导礼仪/格式。

4

1 回答 1

4

你为什么不使用一个HashMap?您基本上需要的是一组键值对。这正是 HashMap 所做的。一个很好的开始链接:http: //tutorialswithexamples.com/java-map-and-hashmap-tutorial-with-examples/

Dog使用 dogName、legs、beforeFed 和其他属性创建您的类。接下来,定义一个HashMap<String,Dog>键为 as 的类dogName,Dog 是具有所有属性的整个Dog对象。例如

Dog red = new Dog("red",5,true);
hashmap.put(red.dogName, red);

稍后如果您想访问 Dog 对象,请执行olddog = hashmap.get("red"). Now,您可以执行任何操作 - olddog.getLegs()...

于 2013-04-21T04:43:59.153 回答