初学求解

ypf222 2011-09-28 08:28:32
public final class Month2 {
private String name;
private Month2(String nm) { name=nm;}
public String toString() {return name;}
public final static Month2
JAN=new Month2("January"),
FEB=new Month2("February"),
MAR=new Month2("March"),
APR=new Month2("April"),
MAY=new Month2("May"),
JUN=new Month2("June"),
JUL=new Month2("July"),
AUG=new Month2("August"),
SEP=new Month2("September"),
OCT=new Month2("October"),
NOV=new Month2("November"),
DEC=new Month2("December");
public final static Month2[] month={
JAN,JAN,FEB,MAR,APR,MAY,JUN,
JUL,AUG,SEP,OCT,NOV,DEC};
public static void main(String[]args) {
Month2 m= Month2.JAN;
System.out.println(m);
m=Month2.month[12];
System.out.println(m);
System.out.println(m==Month2.DEC);
System.out.println(m.equals(Month2.DEC));
}
}
为什么能输出“January”和“November”?
...全文
102 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyran01 2011-10-02
  • 打赏
  • 举报
回复
http://007ej.com/user.asp
http://happyran.zbpifa.com
WillardLife 2011-10-02
  • 打赏
  • 举报
回复
小菜鸟帮顶,我还看不懂。
ypf222 2011-09-29
  • 打赏
  • 举报
回复
我写错了,是November。我只是不明白那段代码没有调用toString(),怎么就能输出那两个月份名称呢?
TKD03072010 2011-09-29
  • 打赏
  • 举报
回复
“==”和equals 的区别搞清楚 再纠正一下代码
trojansj 2011-09-29
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
frank_29 2011-09-29
  • 打赏
  • 举报
回复
运行了一下,输出
January
December
true
true

楼主想输出什么?
孟祥月 2011-09-29
  • 打赏
  • 举报
回复
楼主程序的代码有问题吧,自己看看,关于“==”和equals方法的比较,去我的博客看看,http://blog.csdn.net/mengxiangyue
_了凡_ 2011-09-28
  • 打赏
  • 举报
回复
我都要问楼主怎么会有November输出的,不是应该December么。
这个程序貌似复杂,但很多花架子:定义了好多的Month2对象,然后
定义了一个Month2类型的数组来存放这些对象。
涉及到了数组的下标问题、==和equals的区别。
PS:由于这里没有自己复写equals方法,故默认的话equals和==是
等效的,都是判断引用的地址是否相等,而不是它们所执行的对象。

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧