カレンダーの例だと API の仕様はまさに >>571 みたいな方法だよ

field 要素を static final で定義して
get(int field) で値を取り出す

ただ Calender の例だと内部で for 文一括処理する必要ってない気がするけど

あと定数宣言は確かに冗長だけど最初の定義以外では一切でてこないし
コンパイル言語だとそこはしょうがないんじゃないの