回答編集履歴

1

誤記修正、追記

2025/01/11 11:21

投稿

dodox86
dodox86

スコア9300

test CHANGED
@@ -7,7 +7,7 @@
7
7
  > By eliminating these rules, we permit arbitrary static member declarations within inner classes.
8
8
 
9
9
 
10
- 実際、私の手もとにあるJDK 23で試すと、--releaseオプションでJavaSE 15向けにコンパイルするとコンパイルエラーで、16向けにコンパイルするとコンパイル成功、です。
10
+ 実際、私の手もとにあるJDK 23で試すと、"--release"オプションでJavaSE 15向けにコンパイルするとコンパイルエラーで、16向けにコンパイルするとコンパイル成功、です。
11
11
  ```PowerShell
12
12
  PS > javac -version
13
13
  javac 23.0.1
@@ -29,4 +29,4 @@
29
29
  ```
30
30
  要は、「**JavaSE 16からインナークラス(クラス内部に宣言する非staticなクラス)は、staticメンバを持つことができるようになった**」と言うことですね。
31
31
 
32
- 参考まで私がどう調べたかと言うと、"-release"オプションで8からはじめてコンパイル成功するまで試し、「Can JavaSE 16 declare static variable in innter class?」でWEB検索してヒットする記事を眺め、Oracleのリファレンスにあたってみました。
32
+ 参考まで私がどう調べたかと言うと、"--release"オプションで8からはじめてコンパイル成功するまで試し、「Can JavaSE 16 declare static variable in inner class?」でWEB検索してヒットする記事を眺め、Stackoverflowの質問回答中にJavaSE 16にて解除された旨の回答コメントを見かけたので、公式の情報でウラを取る為にOracleのリファレンスにあたました。