在嵌套类JAVA中使用变量

我对编程非常陌生,并且对于在我认为被称为“嵌套类”的变量中使用变量有疑问.

class BeginningGameTest {

    int attack;
    int defend;

    public static class James
    {
        attack = 25;
        defend = 15;
    }

    public static class Janet
    {
        attack = 45;
        defend = 1;
    }
    public static class Jackson
    {
        attack = 10;
        defend = 20;
    }


    public static void main(String[] args) {

        System.out.prinln(James.attack);

    }
}

我有一般的想法吗?我想保存那些“相同”的变量,但是不同的类和类不同,就像在打印行中一样.我确实得到了一些错误,我应该怎么做才能保持相同的概念,并且仍然保持相当简单,以便我能理解它?对于那些刚接触编程的人来说,是否有任何易于理解的教程?

提前致谢!

解决方法:

这种设计似乎不正确.

在面向对象语言中工作时,您尝试使用的是您希望表达的基本模型.

这三个静态类似乎代表了相同类型的对象,所以让我们为它们创建一个简单的模型.把模型想象成一个千篇一律的人.用它切割的每个饼干都是相同的通用“形状”,但会有不同的特征(洒水,胡须等).此模型应位于其自己的单独文件中.

public class Player {

    private String name;
    private int attack;
    private int defense;

    public Player(String theirName, int theirAttack, int theirDefense) {
        name = theirName;
        attack = theirAttack;
        defense = theirDefense;
    }

    // create getters and setters for their attack and defense
}

要实际使用它,您需要实例化该对象.

public class BeginningGameTest {
    public static void main(String[] args) {
        Player p1 = new Player("James", 25, 15);
        Player p2 = new Player("Janet", 45, 1);
        Player p3 = new Player("Jackson", 10, 20);
        // interactions with the objects below
    }
}

Java tag wiki中已经存在一些极好的初学者资源;给那些彻底的阅读.尝试新事物,不要害怕就你不理解的事情提出(好)问题.

上一篇:如何在python中枚举嵌套类?


下一篇:JAVA HashMap 2D,无法获得制作2D HashMap的正确方法,我的意思是将HashMap转换为另一个HashMap