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

回答編集履歴

2

修正

2019/06/03 14:59

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -9,7 +9,7 @@
9
9
  > addNamePrefixメソッドをstaticメソッドにすると解決することはわかりました。 しかし、なぜStaticをつける必要があるのかがわかりません。
10
10
 
11
11
  **端的な回答**:
12
- インターフェースにstaticメソッドを置くのが、Java8の仕様で認められたです。
12
+ インターフェースにstaticメソッドを置くのが、Java8の仕様で認められたからです。
13
13
 
14
14
  **踏み入った回答**:
15
15
  staticメソッドのレシーバはコンパイル時に解決され、ポリモーフィズムを阻害しないからです。

1

追記

2019/06/03 14:59

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -2,4 +2,14 @@
2
2
  ただしJava8以降ならデフォルトメソッド指定すれば可能です。
3
3
 
4
4
  そもそもFuncListはただのクラスで良いし、メソッドもstaticで良いと思います。
5
- インターフェースの出番には思えません。
5
+ インターフェースの出番には思えません。
6
+
7
+ 質問編集を受けて
8
+ ---
9
+ > addNamePrefixメソッドをstaticメソッドにすると解決することはわかりました。 しかし、なぜStaticをつける必要があるのかがわかりません。
10
+
11
+ **端的な回答**:
12
+ インターフェースにstaticメソッドを置くのが、Java8の仕様で認められたです。
13
+
14
+ **踏み入った回答**:
15
+ staticメソッドのレシーバはコンパイル時に解決され、ポリモーフィズムを阻害しないからです。