teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

訂正

2015/11/18 14:07

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -3,4 +3,4 @@
3
3
  今CクラスはAクラスを継承しており、Aクラスがvoidで引数なしのtestメソッドを持っているので、Cクラスも同じtestメソッドを持っています。なので、Bインタフェースとして扱ってもtestメソッドに問題なくアクセスできるため、エラーになりません。
4
4
  そしてこの状態でCのインスタンスを生成すればtestメソッドはAクラスで定義したメソッドになるため、Bインタフェースからそれを呼んでも同じになるのです。
5
5
 
6
- 同じような理由で、同名・同シグネチャで同じ型を返すメソッドを持つインタフェースを複数同じクラスに実装しても問題ありません。インタフェースが興味が有るのはオーバーライド関係にあるメソッド名だけなので、そのメソッドがどこのクラスにあろうとも問題ないのです。
6
+ 同じような理由で、同名・同シグネチャで同じ型を返すメソッドを持つインタフェースを複数同じクラスに実装しても問題ありません。インタフェースが興味が有るのはオーバーライド関係にあるメソッド名だけなので、そのメソッドがクラスのどこにあろうとも問題ないのです。