回答編集履歴

1

インタフェース実装義務

2019/12/02 06:51

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -3,3 +3,11 @@
3
3
  実装しているRunnableインタフェースは、引数なしの`run()`メソッドを持ちますが、引数のある`run(int, int, int)`は持ちません。
4
4
 
5
5
  つまり、オーバーライドの条件を満たしていないため、コンパイルエラーとなります。
6
+
7
+
8
+
9
+ `@Override`をなくすと、上記理由がなくなるのでそのコンパイルエラーは消えますが、Runnableインタフェースを実装した以上、引数なしの`run()`メソッドを実装する義務があります。こっちの義務を果たしていないため、やはりコンパイルエラーになります。
10
+
11
+
12
+
13
+ 結局、引数ありの`run(int, int, int)`メソッドから起動するということは不可能です。引数なしの`run()`から、別メソッドを呼ぶなどの形しかないです。