java.lang.NullPointerException Main.java:6

时间:2016-08-29 19:22:18

标签: java

我有两个班级

我不确定为什么这是错误的。在日食中没有红色下划线。

主:

package com.example;

public class Main {
    public static void main(String[] args) {
        Week myWeek = new Week(Week.days.FRIDAY);
        System.out.println(myWeek.Today.toString());
    }
}

周:

package com.example;

public class Week {
    public static enum days {
        SUNDAY,
        MONDAY,
        TUESDAY,
        WEDNESDAY,
        THURSDAY,
        FRIDAY,
        SATURDAY
    }

    static final days[] order = {
        days.SUNDAY, days.MONDAY, days.TUESDAY, days.WEDNESDAY, 
        days.THURSDAY, days.FRIDAY, days.SATURDAY
    };
    days Today;

    Week(days toSetTo){
        @SuppressWarnings("unused")
        days Today = toSetTo;
    }
}

错误发生在Main.java:6

2 个答案:

答案 0 :(得分:1)

以下是在运行时失败:

myWeek.Today.toString()

因为myWeek.Today为空。

在构造函数中而不是:

days Today = toSetTo;

你需要这样做:

Today = toSetTo;

答案 1 :(得分:0)

您应该正确修复unused警告而不是压制它。删除该行中的单词days。并仔细查看Eclipse中变量的颜色。他们告诉你哪些名字彼此属于。