クラス内に日付をメンバとして持たせようとして、実験的にこんなプログラムを組みました。

import java.util.*;
import java.text.*;
class Main {
  public static void main(String[] args){
    Calendar cal = new GregorianCalendar(2004, 6, 10);
    Date date = cal.getTime();
    DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
    System.out.println(df.format(date));
  }
}

しかし実行結果は

>java Main
>2004/07/10

なんで(2004, 6, 10) が、2004/7/10 になっちゃうの?



それから、上記のように、クラスメンバにDate か Calendar で日付を保持したいのですが、

文字列(2004/6/10) → 日付(Date か Calendar ?) の変換をシンプルに出来る方法はありますか?
上記の方法だと、文字列を精すうちに分解して、Calendar のコンストラクタに渡さなければなりません。