java - Java中如何使用字符串来调用对象方法?

标签 java

我有一个名为“Skill”的类,带有 getName() 方法。我用它来返回我创建的技能对象的名称。当我尝试编译代码时,它显示“找不到符号方法 getName()”。有什么办法可以解决这个问题吗?例如,在我的 main 方法中:

String[] playerSkill = new String[1];
playerSkill[0] = "a";
System.out.println(playerSkill[0].getName());

在我的技能类(class)中:

public Skill(String n, String d, int p) {
    name = n;
    description = d;
    power = p;
}

public String getName() {
    return name;
}

我知道我不能让字符串看起来像技能对象:

System.out.println((Skill)playerSkill[0].getName());

主要问题是数组要填充用户输入,因此数组必须是字符串数组。我该如何解决这个问题?

最佳答案

您的方法 getName 来自类 Skill,并且您尝试从 String 类调用它。 你应该做这样的事情:

Skill[] playerSkill = new Skill[1];
playerSkill[0] = new Skill("name", "desc", 3);
System.out.println(playerSkill[0].getName());

关于java - Java中如何使用字符串来调用对象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28624221/

相关文章:

java - 如何计算 Http Post 请求的请求正文的 Content-Length

java - 如何使用 JTS 中的 Delaunay 三角剖分为点插值 Z 值的示例

java - 通过引用方法传递参数的正确且最佳的方法是什么?

java - "Polymorphism applies to overriding, not to overloading"?

java - 没有这样的字段错误: SIZE when fetching email through IMAP

java - Vaadin datepicker翻译月份

Java 运算符检查任一条件是否为假,但不会同时检查两个条件是否为假

java - 这里的时间复杂度O(N^2)是多少?

java - Postfix 评估(小错误)

javascript - 将Mysql TIME 数据类型转换为JS Date - Hibernate HQL?