Profile2.javaをコンパイル時に一番下のようなエラーが出ます。
自分としてはクラスのインスタンス時に引数に沢山書く代わりに、連想配列を渡して処理させようと思いました。
しかし、2つの問題が出てきました。
・継承したProfileのnameを設定出来ない
・HashMapのkeySet()部分が上手くいかない
どのように書き換えればいいのでしょうか?
よろしくお願いします。

Profile.java

/** 
 * Profile class
 * @auther yyy
 */
public class Profile {

    /** name */
    private String name;

    /**
     * constructor
     * @param name name
     */
    Profile(String name) {  // constructor
        this.name = name;
    }

}

MyProfile2.java

import java.util.Map;
import java.util.HashMap;


/*  Main.java内抜粋
    Map<String, Object> myprof = new HashMap<String, Object>(){
        {
            put("name", "John Lennon");
            put("phone_number", "+81-90-0000-0000");
            put("email", "lennonkun@gmail.com");
            put("occupation", new String[]{"Programmer", "System Engineer"});
            put("language", new String[]{"Japanese", "Spanish", "English"});
            put("hobby", new String[]{"Traveling", "fishing", "photography"});
        }
    };

    MyProfile2 me2 = new MyProfile2(myprof);
*/

public class MyProfile2 extends Profile {
    private String email;
    private String phone_number;
    private String[] occupation;
    private String[] language;
    private String[] hobby;

    public MyProfile2(HashMap myprof) {
        for(String key: myprof.keySet()) {
            switch(key) {
                case "name": super(name);
                case "email": this.email = (String)myprof.get(key);
                case "phone_number": this.phone_number = (String)myprof.get(key);
                case "occupation": this.occupation = (String[])myprof.get(key);
                case "language": this.language = (String[])myprof.get(key);
                case "hobby": this.hobby = (String[])myprof.get(key);
            }
        }
    }

}

以下のエラーが出ます。

MyProfile2.java:11: エラー: クラス Profileのコンストラクタ Profileは指定された型
に適用できません。
        public MyProfile2(HashMap myprof) {
                                          ^
  期待値: String
  検出値: 引数がありません
  理由: 実引数リストと仮引数リストの長さが異なります

MyProfile2.java:12: エラー: 不適合な型: ObjectをStringに変換できません:
                for(String key: myprof.keySet()) {
                                             ^
MyProfile2.java:14: エラー: superの呼出しはコンストラクタの先頭文である必要があ
ります
                                case "name": super(name);
                                                  ^
エラー3個