运维开发网

Java – 通过Class中的方法更改数组的值

运维开发网 https://www.qedev.com 2020-04-21 19:50 出处:网络 作者:运维开发网整理
这是我的代码: class Myclass { private static int[] array; public static void main(String[] args) { Myclass m = new Myclass(); for (int i = 0; i < 10; i++) { m.array[i]
这是我的代码:

class Myclass {

    private static int[] array;

    public static void main(String[] args) {
        Myclass m = new Myclass();

        for (int i = 0; i < 10; i++) {
            m.array[i] = i;
            System.out.println(m.array[i]);
        }
    }

    public Myclass() {
        int[] array = new int[10];
    }
}

尝试执行此操作时,它会抛出java.lang.nullPointerException:

m.array[i] = i;

有人能帮帮我吗?

您已在构造函数中声明了一个局部变量数组,因此您实际上并未初始化Myclass中声明的数组.

您将要在构造函数中直接引用数组.代替

int[] array = new int[10];

用这个

array = new int[10];

另外,您已在Myclass类的范围内声明了数组static.

private static int[] array;

你在这里只有一个Myclass实例,所以没关系,但通常这不是静态的,如果你在构造函数中初始化它.你应该删除静态:

private int[] array;
0

精彩评论

暂无评论...
验证码 换一张
取 消