加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 04:11:09 所属栏目:Java 来源:网络整理
导读:这是我的代码: 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
这是我的代码:

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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读