如何存储/访问存储到对象/从对象存储的数据?
我正在尝试创建一个非常简单的游戏,所以我创建了一个对象数组来存储有关玩家的信息,如下所示:
player[] p = new player[4];
然后将播放器对象放入数组中:
for(int i = 0; i < 4; i++)
{
p[i] = new player();
}
上面应该创建一个包含4个元素的数组,每个元素都有一个播放器对象。
现在......是我迷路的地方。这是将数据成员放入对象的语法吗?
player() = {name, turn, rolledNumber}
// String name,boolean turn,int rolledNumber
//得到这个关闭维基可能不是一个安全的赌注,但在Oracle Tutorial网站和其他java教程网站上搜索了几个小时后,我空手而归。我已经看到这对数组完成了所以我认为它在某些方面会有所不同。
抱歉,如果这是一个空洞的问题,我只是开始学习java作为一种爱好。答案 0 :(得分:1)
不是使用Player
的默认构造函数,而是可以添加一个带有name
,turn
&amp;的参数的构造函数。 rolledNumber
,然后您可以使用:
for(int i = 0; i < 4; i++) {
p[i] = new Player(name, turn, rolledNumber);
}
仍然可以通过setter&amp; amp;干将。这称为encapsulation。
Java code conventions表示类占用首字母大写字母,因此player
已根据指南编写为Player
。
答案 1 :(得分:1)
为了将信息存储到Player类中的状态(即在本例中为name,turn,rolledNumber)变量,您需要在自定义构造函数中设置它们,将它们公开(通常是个坏主意),或者提供getter / setter方法。鉴于您可能希望依次更改数据和以后滚动编号,但不能命名一个可能的解决方案是使用构造函数和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上面的示例调用构造函数。