gpt4 book ai didi

java - 使用另一个类的数组

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:35 24 4
gpt4 key购买 nike

这看起来非常简单,但我找不到在我正在制作的程序中实现此功能的方法。我有两个类,在其中一个类中,我创建了一个数组,我想在另一个类中访问该数组。

这是主类...

public class main {
public static void main(String[] args) {
boolean[] pixelValues;
pixelValues = [99];
}
}

当然,我省略了很多,但这是我遇到问题的代码。还有第二个类,有点像这样......

public class pixelAssign {
public pixelAssign(posX, posY) {
main.pixelValues[ {some number} ] = {some value};
}
}

我的问题是,我无法从我在第二段代码中创建的函数访问我在主类中创建的 PixelValues 数组。我在第二位代码中遇到错误,指出 (1) 表示无法找到该变量,以及 (2) 我缺少标识符(?)。这里的代码有点未完成,但是第二位的函数稍后会从主类中调用。

任何帮助将不胜感激!

最佳答案

推杆Paul'sSANM2009's一起回答:

你应该:

public class main {
static int[] pixelValues;

public static void main(String[] args) {
pixelValues = [99];
}
}

public class pixelAssign {
public pixelAssign(posX, posY) {
main.pixelValues[0] = 98;
}
}

如果并且只有 IF 类 main 和 PixelAssign 位于同一个包中,那应该可以工作!如果不是,pixelValues 将不可见。

如果您想坚持 Java 良好实践:

  1. 类的首字母始终大写,因此 Main 和 PixelAssign
  2. 实例化类并使用对象通常是一种很好的做法。否则你必须使用static
  3. 将 PixelValues 设置为 privateprotected 并创建方法:

    public class Main {
    private int[] pixelValues;

    public Main() {
    pixelValues = [99];
    }

    public void setPixelValue(int position, int value) {
    pixelValues[position] = value;
    }

    public static void main(String[] args) {
    Main main = new Main();
    new PixelAssign(main);
    }
    }

    public class PixelAssign {
    public PixelAssign(Main main, posX, posY) {
    main.setPixelValue(0, 98);
    }
    }

关于java - 使用另一个类的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48912996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com