在 main 方法之外的抽象 class 上调用静态方法
Calling a static method on an abstract class outside the main method
这个程序没有问题
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 方法之外,在 class 里面,然后使用参考 c
我找不到 Calendar 的任何方法 class
我知道 Calendar class 是抽象的,而这个 returns 一个 subclass 的实例要分配给引用,但为什么我不能使用引用来达到主要方法之外的方法?
当您将 Calendar c = Calendar.getInstance();
移动到主函数之外时,您将在 class Test
中创建非静态变量
要在静态方法中使用这个变量main
你需要这样写:
new Test().c.METHOD_NAME
另一种选择是在变量声明中添加static
,然后你就可以直接在main中使用它了
这个程序没有问题
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 方法之外,在 class 里面,然后使用参考 c
我找不到 Calendar 的任何方法 class
我知道 Calendar class 是抽象的,而这个 returns 一个 subclass 的实例要分配给引用,但为什么我不能使用引用来达到主要方法之外的方法?
当您将 Calendar c = Calendar.getInstance();
移动到主函数之外时,您将在 class Test
要在静态方法中使用这个变量main
你需要这样写:
new Test().c.METHOD_NAME
另一种选择是在变量声明中添加static
,然后你就可以直接在main中使用它了