此程序无问题
public class Test{
static int DAY_IM = 1000*60*60*24;
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(2004,0,7,15,40);
long day1 = c.getTimeInMillis();
for (int i =0; i < 15 ; i++) {
day1 += (DAY_IM *29.52);
c.setTimeInMillis(day1);
out.println(String.format("full moon on %tc ",c));
}
}
我想了解为什么当我移动这一行时
Calendar c = Calendar.getInstance();
在main方法之外,然后在类中使用引用c
我无法找到Calendar类的任何方法
我理解Calendar类是抽象的,它返回一个子类的实例来分配给引用,但是为什么我不能使用引用来访问main方法之外的方法呢?
答案 0 :(得分:1)
当您将Calendar c = Calendar.getInstance();
移到main函数之外时,您正在类Test
中创建NON静态变量
要在静态方法main
中使用此变量,您需要编写如下内容:
new Test().c.METHOD_NAME
另一种选择是将static
添加到变量声明中,然后您就可以直接在main中使用它了