首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编辑不同类中的位置值

编辑不同类中的位置值
EN

Stack Overflow用户
提问于 2019-10-14 06:26:58
回答 1查看 60关注 0票数 1

我有一个名为Jar的类,其字段名为positionStone stone

我还有一个名为Chest的类,它的字段名为positionjar1jar2jar3

基本上,我需要变量jar1jar2jar3来拥有一个集合position of 4,但是当我创建Jar(Jar())的一个新实例时,position被设置为0,所以我想知道如何更改这个位置的值。谢谢。

代码语言:javascript
运行
复制
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();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-14 06:37:59

选项1:

调用接收两个参数的构造函数:jar1 = new Jar(4, null);,为position值提供4,为stone值提供null

备选方案2:

创建一个重载的构造函数来接收作为参数的位置:

代码语言:javascript
运行
复制
public Jar(int initPos) {
    position = initPos;
}

并在Chest构造函数中调用它,如:jar1 = new Jar(4); (与其他实例相同)。

选项3:

创建jar,然后调用其move(int distance)方法:

代码语言:javascript
运行
复制
jar1 = new Jar();
jar1.move(4);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58371142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档