我有一个名为Jar的类,其字段名为position和Stone stone。
我还有一个名为Chest的类,它的字段名为position、jar1、jar2和jar3。
基本上,我需要变量jar1、jar2和jar3来拥有一个集合position of 4,但是当我创建Jar(Jar())的一个新实例时,position被设置为0,所以我想知道如何更改这个位置的值。谢谢。
public class Jar
{
private int position;
private Stone stone;
/**
* Constructor for objects of class Jar
*/
public Jar()
{
position = 0;
stone = null;
}
public Jar(int initPos, Stone stone)
{
position = initPos;
this.stone = stone;
}
public void move(int distance)
{
position = position + distance;
}
public void moveTo(Jar jar)
{
jar.stone = stone;
stone = null;
}
}
public class Chest
{
private int combination;
private int position;
private Jar jar1;
private Jar jar2;
private Jar jar3;
public Chest()
{
System.out.print("Enter chest combination (5-10): ");
combination = Global.keyboard.nextInt();
position = 4;
jar1 = new Jar();
jar2 = new Jar();
jar3 = new Jar();
}
}发布于 2019-10-14 06:37:59
选项1:
调用接收两个参数的构造函数:jar1 = new Jar(4, null);,为position值提供4,为stone值提供null。
备选方案2:
创建一个重载的构造函数来接收作为参数的位置:
public Jar(int initPos) {
position = initPos;
}并在Chest构造函数中调用它,如:jar1 = new Jar(4); (与其他实例相同)。
选项3:
创建jar,然后调用其move(int distance)方法:
jar1 = new Jar();
jar1.move(4);https://stackoverflow.com/questions/58371142
复制相似问题