如何使用另一个变量

时间:2016-04-21 18:34:00

标签: java

标题可能有点令人困惑,但我想知道的是我怎样才能改变 mainsave.b中的'b'部分,以便在对象中定义它。

到目前为止,这是我的代码

public void getItem(int a, String b)
{
    mainsave.b = a;
}

这些值正在另一个名为Story的类中从这段代码发送。 我希望它们存储在类SaveFile的对象中,这就是'mainsave'是

if (command_string.equals("1"))
        {
           try {Thread.sleep(1500);} catch (InterruptedException e) {} 
           System.out.println("You search the shed thouroughly and find an axe but not much else...");
           int item = 1;
           String axe = "axe";
           getItem(item,axe);
           try {Thread.sleep(1500);} catch (InterruptedException e) {}   
           area1();
        }

尝试编译第一部分时得到的错误是“找不到符号 - 变量b”

3 个答案:

答案 0 :(得分:1)

因为Java是一种静态类型语言,所以不能。因此变量名必须在编译时实现。

我不建议使用反射编码。

答案 1 :(得分:0)

通常您为每个字段定义getter和setter。

虽然不推荐,但你可以通过反思实现这一点。

Object a = new A();

Class<?> c = a.getClass();

Field fieldValue = c.getDeclaredField("value");

fieldValue.setInt(a, 10);

Getting and Setting Field Values

答案 2 :(得分:0)

这不起作用,因为Java是Statically-Typed Language,不像 JavaScript Lua

所以,

我建议您使用某种List来实际存储数据,而不是SaveFile类中的大量字段。