AMG Solution

Java初心者の登竜門! Java Bronze試験で間違えやすい問題7選

こんにちは。横尾です。
 
内定者研修で、オラクル社が提供しているOracle Certifies Java Programmer, Bronze SE7を取得するため、勉強していました。この試験、とにかく引掛け問題が多いのです。私が引っかかりやすいだけかもですが……。
 
お恥ずかしながら1度落ちてしまいましたが、無事に合格出来たので引っかかった問題を紹介したいと思います。

コンパイル、実行した結果として正しいものを1つ選択してください。

解答:A

 
私が毎回引掛けられた問題です。変数の有効範囲というやつですね。
 
6行目のi変数の出力はfor文の外にあるため、宣言されていない変数となりコンパイルエラーになります。実際の試験ではコンストラクタやオーバーロードを考えさせているようで、この有効範囲で解答がエラーなんてこともあるので、常に有効範囲は気にしておくと良いと思います。

コンパイル、実行した結果として正しいものを1つ選択してください。

解答:D

 
拡張for文です。参照変数の配列の中身を1つ1つ見ていくfor文です。使用方法は、for (変数宣言:参照変数名)です。
 
慣れてしまえばどうってことはないのですが、私が受けたときに配列と拡張for文をよく見かけたので確認しておいて頂きたいです。

3行目に挿入した際、コンパイル、実行ともに成功するコードを2つ選択してください。

解答:A, C

 
オーバーロードの問題です。
 
オーバーロードする条件は以下の3点です。

  • アクセス修飾子が同じ、または公開範囲が広いこと。
  • 戻り値、メソッド名が同じであること。
  • 引数の型が異なること。

アクセス修飾子、戻り値、メソッド名、引数の型この4点をチェックすれば、オーバーロードは大丈夫です。

8行目に挿入した際、コンパイル、実行ともに成功するコードを1つ選択してください。

解答:C

 
オーバーライドの問題です。例題3のオーバーロードとよく似ていて私はとても苦手です。
 
オーバーライドの条件は以下の4点です。

  • アクセス修飾子が同じ、または公開範囲が広いこと。
  • 戻り値が同じ、または戻り値の型のサブクラスであること。
  • メソッド名が同じであること。
  • 引数の型が同じであること。

オーバーロードは引数が異なる、オーバーライドは引数が同じです。この違いに気を付ければ、この手の問題は大丈夫なはずです。

コンパイル、実行した結果として正しいものを1つ選択してください。

解答:C

 
staticメソッドとインスタンスメソッドの問題です。ポイントは以下です。
 
同クラス内での利用

  • インスタンスメソッドはインスタンス変数、static変数、staticメソッド全て利用できる。
  • staticメソッドはstatic変数のみ利用できる。

他クラスからの利用

  • インスタンス変数、メソッドはインスタンス化してから利用する。
  • static変数、メソッドは「クラス名.メソッド名」で利用できる。

 
お互いに利用できるのかという部分に注意して覚えてください。

コンパイル、実行した結果として正しいものを1つ選択してください。

解答:C

 
継承関係のあるクラスをインスタンス化すると、必ずスーパークラスのコンストラクタが実行されてから、サブクラスのコンストラクタが実行されます。スーパークラスのコンストラクタは、super()で呼び出せます。
 
ただし、明示的に記載がなくても、暗黙的に呼び出されてしまうのが厄介なところです。つい忘れてしまいます……。
 
この例題の場合は、BクラスのスーパークラスのAクラスのコンストラクタが呼び出されてから、Bクラスのコンストラクタが実行されています。

コンパイル実行した結果として正しいものを1つ選択してください。

解答:D

 
私が1番嫌いなキャストの問題です。
 
BクラスはAクラスを継承しています。そのため、コンパイルに問題はありません。しかし、変数aは5行目でAクラスのオブジェクトとして宣言されています。そのため、実行時にBクラスのオブジェクトを利用できず、実行時にClassCastExceptionエラーが発生します。
 
継承が関わる問題を解くときは、図で書いてどのクラスがどのメソッドを利用できるのか整理すると分かりやすいですね。

まとめ

間違いやすい問題というよりは、私が苦手な問題7選になってしまいましたが、お役に立ったでしょうか。
 
何かと引っかけてくる試験でしたが、たくさん問題を解いているうちに私も引っかけ問題にも慣れていきました。下で紹介している問題集の問題を間違えなくなるまで解いていれば、心配ない試験でした。
 
まあ油断をして、1回落ちたのですが……。皆さんは油断せずに合格目指してくださいね。
 
 
 
 
《使用した本》

YOKOO'S BLOG

横尾の記事

横尾の記事の最新情報をお届けいたします。

SAME CATEGORY BLOG

この記事と同様のカテゴリー記事

新卒採用
はじめました。
LOADING