回答編集履歴
2
更に修正
test
CHANGED
@@ -16,6 +16,6 @@
|
|
16
16
|
|
17
17
|
```
|
18
18
|
|
19
|
-
ラムダ式で書くことができるのは「関数型インタフェース」のメソッドに限られます。関数型インタフェースとは、メソッドをただ一つだけ持つインタフェースのことです。メソッドを一つしか持たないので、ラムダ式で書く際にオーバーライドするメソッドは一つに限定されます。
|
19
|
+
ラムダ式で書くことができるのは「関数型インタフェース」のメソッドに限られます。関数型インタフェースとは、抽象メソッドをただ一つだけ持つインタフェースのことです(デフォルト実装されているものは除く)。メソッドを一つしか持たないので、ラムダ式で書く際にオーバーライドするメソッドは一つに限定されます。
|
20
20
|
|
21
21
|
Threadのコンストラクタで、関数型インタフェース一つを引数に取るコンストラクタは`Thread(Runnable)`しかありません。このため、ラムダ式はRunnableと推定され、Runnableのrunメソッドをオーバーライドした無名クラスのオブジェクトが生成され、それがThreadのコンストラクタに渡されるのです。
|
1
語弊がありそうなので訂正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
この書き方は、
|
2
2
|
|
3
|
-
> 抽象メソッドrunをクラス定義時に実装している
|
3
|
+
> ThreadクラスはRunnableインターフェースを実装していて、抽象メソッドrunをクラス定義時に実装している
|
4
4
|
|
5
5
|
|
6
6
|
|