一个蛮有意思的类

limao1358 2006-12-14 03:36:38
package test;

public class Suit implements Comparable {
private final String name;

private static int nextOrdinal = 0;

private final int ordinal = nextOrdinal++;

private Suit(String name) {
this.name = name;
}

public String toString() {
return name;
}

public int compareTo(Object o) {
return ordinal - ((Suit) o).ordinal;
}

public static final Suit CLUBS = new Suit("clubs");

public static final Suit DIAMONDS = new Suit("diamonds");

public static final Suit HEARTS = new Suit("hearts");

public static final Suit SPADES = new Suit("spades");

}
...全文
180 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
limao1358 2006-12-15
  • 打赏
  • 举报
回复
楼上的指的是"private final int ordinal = nextOrdinal++;"吗?不要忘了它是实例变量,每创建一个类就又会生成一个的.
limao1358 2006-12-15
  • 打赏
  • 举报
回复
这个类是绝对正确的,大家不要怀疑,他提供了不可变的枚举特性.另外还可以比较排序.
leishuo 2006-12-14
  • 打赏
  • 举报
回复
final 只能初使一次
sxnucseven 2006-12-14
  • 打赏
  • 举报
回复

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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