###前提・実現したいこと
メンバ変数に、自分と同じクラスのインスタンスを持つクラスについて
見慣れていないこともあり、ものすごく違和感があります。
ネットでこのようなクラスの解説が読みたくて検索したのですが、キーワードが分からず、望む記事が見つかりませんでした。
1.このような、「メンバ変数に、自分と同じクラスのインスタンスを持つクラス」に特別な名前やキーワードなどあるのでしょうか?
2.20行目の_nameは、privateなのに、14行目で「.」でアクセスしています。違和感があるのですが、どう考えれば良いのでしょうか?
どうぞよろしくおねがいします。
###該当のソースコード
Java
1package ReplaceErrorCodeWithException.before_; 2 3import java.util.HashMap; 4import java.util.Map; 5 6public class Command { 7 public static final Command FORWARD = new Command("forward"); 8 public static final Command BACKWARD = new Command("backward"); 9 public static final Command TURN_RIGHT = new Command("right"); 10 public static final Command TURN_LEFT = new Command("left"); 11 private static final Map<String, Command> _commandMap = new HashMap<String, Command>(); 12 13 static { 14 _commandMap.put(FORWARD._name, FORWARD); 15 _commandMap.put(BACKWARD._name, BACKWARD); 16 _commandMap.put(TURN_RIGHT._name, TURN_RIGHT); 17 _commandMap.put(TURN_LEFT._name, TURN_LEFT); 18 } 19 20 private final String _name; 21 22 private Command(String name) { 23 _name = name; 24 } 25 26 public String getName() { 27 return _name; 28 } 29 30 public static Command parseCommand(String name) { 31 if (!_commandMap.containsKey(name)) { 32 return null; 33 } 34 return _commandMap.get(name); 35 } 36}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/19 15:57
2016/05/19 16:06
2016/05/20 06:07
2016/05/21 08:33 編集
2016/05/20 17:09