java - 使用另一个类的数组

标签 java arrays variables

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

这是主类...

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/

相关文章:

java - 共享对象设计模式

java - 将对象转换为数组 - IllegalArgumentException - 参数不是数组

javascript - 无法在 JavaScript 中删除数组

java - 将行数据读取到字符串数组中?

swift - 在 Swift 中,编译器是否允许您隐式访问要打开的值?

r - 在 dplyr 中使用变量列名 (do)

java - Proguard 删除 com.sun.mail.imap.IMAPProvider

javascript - 当请求实体的内容类型不是 application/x-www-form-urlencoded 时使用@FormParam]

java - 将 Gradle 项目导入 Eclipse 时出错

javascript - 如何正确检测变量类型并检测比 typeof 函数提供的更多类型?