有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在对象中存储数据成员

如何将存储的数据放入/访问对象

我试图制作一个非常简单的游戏,所以我制作了一个对象数组来存储关于玩家的信息,如下所示:

     player[] p = new player[4];

然后将玩家对象放入数组,如下所示:

for(int i = 0; i < 4; i++)
{
p[i] = new player();
}

上面应该创建一个包含4个元素的数组,每个元素中有一个玩家对象

现在。。。就是我迷路的地方。这是将数据成员放入对象的语法吗

player() = {name, turn, rolledNumber}

//字符串名,布尔值,int rolled number

//从维基上得到这个可能不安全,但在Oracle教程网站和其他java教程网站上搜索了几个小时后,我空手而归。我见过数组可以实现这一点,所以可能我认为在某些方面会类似

抱歉,如果这是一个空洞的问题,我刚刚开始把学习java作为一种爱好


共 (2) 个答案

  1. # 1 楼答案

    不必为Player使用默认构造函数,您可以添加一个接受nameturn&rolledNumber,那么你可以使用:

    for(int i = 0; i < 4; i++) {
      p[i] = new Player(name, turn, rolledNumber);
    }
    

    单个类成员变量仍然可以通过setters&;获得者。这被称为encapsulation

    Java code conventions表示类的首字母大写,因此player根据指南在这里被写为Player

  2. # 2 楼答案

    为了将信息存储到Player类中的state(即,在本例中为name、turn、rolled number)变量中,您需要在自定义构造函数中设置它们,将它们公开(通常是个坏主意),或者提供getter/setter方法。考虑到您可能希望依次更改数据并在以后更改rolledNumber,但不确定,一个可能的解决方案是使用构造函数和getter/setter方法实现一个类,如下所示

    public class Player
    {
        private String playerName;
        private boolean playerTurn;
        private int rolledNumber;
    
        public Player(String name, bool turn, int number)
        {
            playerName = name;
            playerTurn = turn;
            rolledNumber = number;
        }
    
        public String getName() { return playerName; }
        public boolean getPlayerTurn() { return playerTurn; }
        public void setPlayerTurn(boolean turn) { playerTurn = turn; }
    
        ...
    
    }
    

    然后按照上面Reimeus的例子调用构造函数