Javaの珍しいcompile error messageに、
illegal forward reference
というのがあります。
これを題材に、後輩氏に課題を出しました。
最も単純な形にして挙例すると、
1 2 3 4 5 6 7 8 9 10 |
|
↑これをlambda式に直しなさい、といったようなものです。
実はこれ、単純にlambda式にすると、compile errorになります。
1 2 3 4 5 6 7 8 9 |
|
error messageからしてどう直せばいいかは自明かと思ったんですが、 英語が不自由な後輩氏の1日弱かけた答えはこうでした。
1 2 3 4 |
|
流石に「何でもかんでもstatic
にすればいいってもんじゃない」
ってことはわかってて、「これがFA」とまでは言ってませんでしたけど、
ここをみて、
「static
にすればいいんじゃね、って書いてある」と思ったんだそう。
そうは書いてないんだけどなー。
でも、こういう回答は想像してなくて、新鮮でした。
そもそもdeclarationが後ろに書いてあったこと自体がおかしい、とは思いますけどね。 そういう「色々おかしい」ソフトを直しています。