【发布时间】:2013-12-04 03:50:22
【问题描述】:
我想创建新对象并给它用户输入名称。
示例用户输入“robert”将匹配到:
Action robert = new Action();
robert.eat();
我需要在程序中进行哪些更改才能创建具有动态名称的新对象? 非常感谢。 我写下一段代码:
import java.util.Scanner;
public class Human {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner user_input = new Scanner( System.in );
String first_name;
System.out.print("Enter your first name: ");
first_name = user_input.next( );//robert
System.out.println("You are " + first_name);//robert
Action first_name = new Action();
Food orange = new Food();
robert.eat(orange);
}
}
【问题讨论】:
-
对象通常没有名字。你说的是一个变量的名字,这是完全不同的。如果你想让你的对象有一个名字,它应该有一个字段来记住它的名字,你应该把名字传递给构造函数。
-
你错了,你把变量名和用户名混在一起了!
-
如果没有人在运行时看到它,为什么要给变量一个动态名称?
-
我感觉您正在寻找maps,它允许您使用可以是字符串的键来访问对象。