問題
変数のスコープについての正確な記述はどれですか。3つ選びなさい。
- 子ブロックは親ブロックの変数名を再利用できません。
- ブロック内の任意のポイントで変数を定義できます。
- 並列ブロックは同じ変数名を使用できます。
- 変数の値がnullの場合、子ブロックは親ブロックの変数名を再利用できます。
- 変数の値がnullの場合、静的変数はスコープを現在のブロックに制限できます。
正解
- 子ブロックは親ブロックの変数名を再利用できません。
- ブロック内の任意のポイントで変数を定義できます。
- 並列ブロックは同じ変数名を使用できます。
- 変数の値がnullの場合、子ブロックは親ブロックの変数名を再利用できます。
- 変数の値がnullの場合、静的変数はスコープを現在のブロックに制限できます。
解説
それぞれの選択肢の理由について説明します。
□ 子ブロックは親ブロックの変数名を再利用できません。
これは正解です。Apexでは、同じメソッドやクラス内で既に宣言されている変数名を再宣言することはできません。子ブロックで同じ名前を持つ新しい変数を宣言しようとすると、コンパイルエラーになります。
□ ブロック内の任意のポイントで変数を定義できます。
これは正解です。Apexでは、ブロック内の任意の位置で変数を定義することができます。ただし、変数は定義されたポイントからブロックの終わりまでの間のみ有効です。
□ 並列ブロックは同じ変数名を使用できます。
これは正解です。互いに独立したブロック(例えば異なるメソッド内や、異なるループ内など)は、同じ名前の変数をそれぞれで使用できます。これらの変数はスコープが異なるため、互いに影響しません。
□ 変数の値がnullの場合、子ブロックは親ブロックの変数名を再利用できます。
これは不正解です。変数の値が何であれ、変数名のスコープは変数の値に依存しません。null値であっても、親ブロックで宣言された変数名は子ブロックで再宣言できません。
□ 変数の値がnullの場合、静的変数はスコープを現在のブロックに制限できます。
これは不正解です。静的変数のスコープはその変数が宣言されたクラス全体に及びます。変数の値が何であれ、スコープをメソッドやブロックに制限することはできません。
次の問題へ
【Salesforce 認定Platformデベロッパー】試験対策:第69問
問題 建設会社の運用管理者は、機械と呼ばれるカスタムオブジェクトを使用して、クレーンやその他の機械の使用と保守を管理します。管理者は、機械をさまざまな建設作業…
前の問題へ
【Salesforce 認定Platformデベロッパー】試験対策:第67問
問題 開発者は、ケースオブジェクトで使用可能なすべてのレコードタイプを表示したいと考えています。開発者は、ケースオブジェクトの状況項目の選択リスト値も表示した…
1問目から復習する
【Salesforce 認定Platformデベロッパー】試験対策:第1問
問題 デバッグログに書き込まれるときのxの値は何ですか。 Integer x = 0; do { x = 1; x++; } while (x < 1); System.debug(x); 0 1 2 3 正解 0 1 2 3 解説 デバッ…
コメント