質問
インスタンス化したときの引数によって使えるメソッドを制限したいんだけどどうすればいいかな

public Human(Type type) {}

public enum Type {
WALK, RUN, SLEEP
}

public void move(Type type) {
switch(type) {
case WALK:
...
break;
case RUN:
...
break;
}
}

どうしてもこういう設計にしたい理由があって、HumanのインスタンスをSLEEPでnewしたときにmoveメソッドがコードアシストに出てきて気持ち悪い
switch文にdefaultいれてエラーにするって方法もあるけどやはり気持ち悪い。
SLEEPをenumから分けることはできればしたくない。