sinat_25234961 2015-09-11 07:01 采纳率: 100%
浏览 2093
已采纳

java 日历Calendar c为什么不能作为对象而是要在方法里建立

import static java.lang.System.out;
import java.util.*;

class Fullmoons{
static int DAY_IM=1000*60*60*24;
/*

/
public static void main(String[] args){
Calendar c=Calendar.getInstance();
c.set(2004,1,7,15,40);

long day1=c.getTimeInMillis();
for(int x=0;x<60;x++){
day1+=(DAY_IM*29.52);

c.setTimeInMillis(day1);
out.println (String.format("full moon on %tc",c));
}
}
}
程序是对的,检验过,就是想问
Calendar c=Calendar.getInstance();
c.set(2004,1,7,15,40);

这个如果是在方法外面(/
*/位置)就是错误,是为什么。
我知道Calendar是个抽象的类,不能用new建立实例。但我用getInstance()建立C作为对象,感觉按理说也应该可以啊。

  • 写回答

4条回答 默认 最新

  • hekewangzi 2015-09-11 08:09
    关注

    方法里同样是new了一个Calendar 对象然后再返回来的

    它在方法里new可以控制这个对象产生的个数,假如在堆里有这个对象了就不会再new了

    然而你说的为什么在方法外不能使用,,你见过在方法外面直接调用某个方法的??Calendar.getInstance();这样写相当于是一个语句了

    Java中任何语句都是在方法中写的啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境