Java SE 17 Gold (1Z0-826-JPN) 試験 / 関数型インタフェースとラムダ式 ・ 無料問題 1/5
関数型インタフェースとラムダ式 問題1[内部クラス (内部クラス, static な内部クラス, 無名クラス) の使用]
次のコードを実行したときの出力を選んでください。
public class Main { private int x = 1; class Inner { int x = 2; void show(int x) { System.out.println(x + " " + this.x + " " + Main.this.x); } } public static void main(String[] args) { Main.Inner in = new Main().new Inner(); in.show(3); }}選択肢
- A.3 2 1正解
- B.2 2 1
- C.コンパイルエラーになる
- D.3 3 3
解説実行して確認済み
内部クラス (static でないネストしたクラス) のインスタンスは、外側のクラスのインスタンスに結びつけて 外側のインスタンス.new Inner() の形で作ります。名前が重なったときは、単に x と書くと最も内側のスコープ (引数) を、this.x は内部クラスのフィールドを、Main.this.x は外側のインスタンスのフィールドを指します。
この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。
Java SE 17 Gold (1Z0-826-JPN) 試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。