java.lang.NullPointerException Main.java:6
我有两节课 我不知道这是为什么出错。在eclipse中没有红色下划线 主要内容: 周:java.lang.NullPointerException Main.java:6,java,Java,我有两节课 我不知道这是为什么出错。在eclipse中没有红色下划线 主要内容: 周: 错误出现在Main.java:6上。以下操作在运行时失败: myWeek.Today.toString() 因为myWeek.Today为空 在构造函数中,而不是: days toSetTo 您需要这样做: Today=toSetTo您应该正确地修复未使用的警告,而不是抑制它。删除该行中的单词days。仔细观察Eclipse中变量的颜色。它们告诉您哪些名称属于彼此。构造函数中的变量存储在哪里?现在是开始使用J
错误出现在Main.java:6上。以下操作在运行时失败:
myWeek.Today.toString()
因为myWeek.Today
为空
在构造函数中,而不是:
days toSetTo代码>
您需要这样做:
Today=toSetTo代码>您应该正确地修复未使用的
警告,而不是抑制它。删除该行中的单词days
。仔细观察Eclipse中变量的颜色。它们告诉您哪些名称属于彼此。构造函数中的变量存储在哪里?现在是开始使用Java代码约定的时候了;它们使交流更加简单。大写类(包括枚举),ALL_CAPS
中的常量,以及camelCase
中的变量。您今天为声明了两个变量,一个变量是构造函数的本地变量,另一个是实例变量。应始终使用this.varName
引用实例变量。正确的重复:
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;
}
}