回答編集履歴

1

誤って途中送信

2019/05/16 14:25

投稿

swordone
swordone

スコア20649

test CHANGED
@@ -14,4 +14,8 @@
14
14
 
15
15
 
16
16
 
17
- 抽象メソッドが2つあるので、かんがた
17
+ 抽象メソッドが2つあるので、関数型インタフェースにならなさそうですが、2つ目のメソッド`toString()`はObjectクラスにpublicメソッドとして定義されています。そのめ、これは抽象メソッドとしてカウントされず、関数型インタフェースという扱いになります。
18
+
19
+
20
+
21
+ インタフェースを実装して使う場面を考えると、必ずクラスに実装し、クラスは必ずObjectを継承します。そして、Objectクラスでは必ずtoStringメソッドが具象メソッドとして存在します。したがって、Objectクラスで定義されているpublicメソッドと同じシグネットを持つメソッドは、インタフェースの抽象メソッドとしては意味がないので、カウントしないのです。