【发布时间】:2015-05-09 19:48:27
【问题描述】:
我一直在做一个有趣的小项目,涉及从用户给出的未来日期中减去当前日期以返回它们之间的天数。
public int getDaysBetween(int date2)
{
//Subtract current date from future date (date2), leaving the number of days between them
int getDaysBetween = 0;
Calendar myCalendar = Calendar.getInstance();
myCalendar.get(Calendar.DAY_OF_YEAR);
getDaysBetween = date2-Calendar.DAY_OF_YEAR;
return getDaysBetween;
}
执行此操作的方法是非静态的,因为 date2 int 会发生变化。但是,当我尝试在我的主类中引用它时......
//Figure out a non-static reference
int date2 = Integer.parseInt(JOptionPane.showInputDialog("Enter a day in the year ahead of today"));
message = "Days bewteen: " + Date.getDaysBetween(date2-Calendar.DAY_OF_YEAR);
JOptionPane.showMessageDialog(null, message);
我收到无法从静态上下文引用非静态方法的错误。
我是 Java 的新手,所以对你们大多数人来说可能看起来很容易,但我可以使用帮助。
提前致谢!
【问题讨论】:
-
static并不意味着方法参数可以改变,它意味着字段/方法属于类,而不是类的实例。因此,你应该在这里static.
标签: java methods reference non-static