先週のインタビューで、プログラミングテストの質問の1つは「クラス内の異なるコンストラクタがJavaで同じ動作をすることをどのように確認できますか?私はそうではなく、「同じ行動をとっている」ということをまだよく分かっていません。私が与えた答えは:ここ異なるコンストラクタがJavaで同じ動作をすることを保証する
(new MyObject(...)).equals(new MyObject(...));
(new MyObject(...)).hashCode == (new MyObject(...)).hashCode();
は、各ラインで、最初MyObjectに(...)は、1つのコンストラクタと他の第2指します。
質問が実際に何を求めていたと思いますか?
+1、私はこの非常に同じ答えをタイプしていました。 :) – casablanca
お返事ありがとうございました。しかし、もっと正確には、「同じように行動する」ことは何を意味しますか? – Alex
@Alex:インタビュアーが「*同じ行動をしている」という意味は何ですか?私は、私の意見では、同じコンストラクタにすべて委任したときに証明できる、一貫性のある*振る舞いを持つことを意味するとしか推測できません。 –