新手创造游戏 - 尝试清洁代码 - 继承

时间:2012-06-09 21:28:25

标签: java inheritance

努力提高编程效率。努力建立一个愚蠢的游戏来教自己,所以它就像一个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!");

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

Character.java

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

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

打印时获得的输出是新的com.game.config.Warrior@6471d768已创建!

我在这里做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

不要使用selection == "Warrior"

使用selection.equals("Warrior")

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