2

试图在编程方面做得更好。致力于构建一个愚蠢的游戏来自学,所以它就像一个 RPG 类型。

里面的主要:

String selection = "Warrior";
    if(selection == "Warrior")
    {
        Warrior war = new Warrior();
        characterCreation(player, war, 75, 200, "Black", 150, 90, 25);
    }

只是为了创建一个通用字符:

private static void characterCreation(User player, Character type, int armour, int health, String colour, int height, int weight,
            int damage) {
        type.setType(type);

System.out.println("New "+ type.getType() +" Created!");

所以这个想法是你可以创造一个战士,治疗师,巫师你明白的:)

字符.java

    private Character type;
    public Character getType() {
        return type;
    }
    public void setType(Character type) {
        this.type = type;
    }

然后清空扩展 Character 类的 Warrior.java 类。

打印时得到的输出是 New com.game.config.Warrior@6471d768 Created!

我在这里做错了什么?

谢谢!

4

2 回答 2

3

给你的类一个可行的public String toString()方法——它返回一个描述当前对象及其状态的字符串。这将解决您的“com.game.config.Warrior@6471d768”问题,因为您看到的是从 Object 的toString()方法返回的默认字符串。

于 2012-06-09T21:35:26.463 回答
2

不要使用selection == "Warrior"

利用selection.equals("Warrior")

== 用于比较引用而不是对象的值

于 2012-06-09T21:29:29.390 回答