質問を拡張するだけです..
クラスがインターフェイスを実装し、抽象クラスを拡張し、両方が同じメソッド (名前 + 署名) を持っているが、戻り値の型が異なるとします。メソッドをオーバーライドすると、戻り値の型をインターフェイス宣言の型と同じにした場合にのみコンパイルされます。
また、メソッドが抽象クラスまたはインターフェイスでプライベートまたはファイナルとして宣言されている場合はどうなりますか?
**余談ですが。アインシュタイン氏は、インタビュー中に忌まわしいほどの時間、この質問に固執しました。私たちがこれを行う一般的なシナリオはありますか、それとも彼は自慢しているだけですか?