フィールドに var を使う
このコードを実行するとどうなるか。
public class Main {
public static void main(String[] args) {
System.out.println(new Box().size);
}
}
class Box {
var size = 10;
}
- A
10と出力される - B
0と出力される - C 実行時に例外が発生する
- D コンパイルエラーになる
正解と解説を見る
正解: D
- A: 実行まで進まないので、何も出力されません。
- B: 実行まで進まないので、何も出力されません。
- C: var の使い方の誤りはコンパイル時に見つかります。
- D: var はローカル変数にしか使えません。フィールドには使えないのでコンパイルエラーです。
ポイント
- var が使えるのはローカル変数 (for 文の変数を含む) だけです。フィールド・メソッドの引数・戻り値には使えません。