2011-04-12 6 views
0

私はJavaが死の致命的なダイヤモンドを回避する方法について読んでいましたが、まだいくつか質問があります。クラスがクラスを継承してインターフェイスを実装し、それぞれが同じプロトタイプのメソッドを持つ場合はどうなりますか?または、同じ名前、同じ引数、異なる戻り値の型を持つメソッド?継承に関する問題(java)

ありがとうございました!

+2

あなた自身で試してみませんか? –

答えて

3

クラスがクラスを継承し、インターフェイスを実装し、それぞれに同じプロトタイプのメソッドがある場合はどうなりますか?

継承されたメソッドをオーバーライドしないと、コンパイラはクラスメソッドがインターフェイスメソッドの実装であるとみなします。これは必ずしも正しいとは限りません。これはスーパークラスの実装に依存します。

同じ名前、同じ引数を持つが、戻り値の型が異なるメソッドはありますか?

インターフェイスメソッドを実装することはできません。コンパイラーは、異なる戻り値の型でスーパークラスメソッドをオーバーロードしようとしていると思われるからです。