Javaプログラマであるかを見分ける10の質問!

( ノ゚Д゚)こんにちわ
少し古いですが、こんな記事をみつけました。
Javaプログラマであるかを見分ける10の質問
ちょっと気になったのでやっちゃいます!
答え合わせは後日です。
1. ==演算子とequalsメソッドの違いは何か?
==がIDの比較で、equalsがオブジェクトの内容を比較
2. 文字列の+演算子による連結とStringBuilderを使った連結の違いを説明せよ。
+演算子てStringBuilder使ってるんじゃなかっただろうか。
Stringが不変クラス?だから無駄なインスタンスが生成される。
String a = “ふへん”;
a = a + “クラス”;
結局、aのなかに入ってるのは最初の「ふへん」じゃなくて新しいインスタンスの「ふへんクラス」が参照されていて、「ふへん」は参照されなくなる?
3. Listのようにジェネリクス型を使う主たる目的は何か?
型を間違わないようにするために総称を指定しておく。
4. オブジェクトがガベージコレクション(GC)される主たる条件は何か?
オブジェクトが参照されなくなったらGC対象になって処理される。
5. チェック例外と非チェック例外の違いを型と例外処理の観点で説明せよ。
順調だと思ったら、ここで分からん・・・。
非チェック例外ってなんだ・・・。
6. フィールドのアクセス修飾子をprivateにしgetter/setterメソッドを提供する事でフィールドを参照する設計方針を取る主な理由を説明せよ
2個思い浮かぶんだけど、どっちなんだろう。
1個目:直接参照させれなくして、誤操作防止する。
2個目:メソッド化することで処理を付け加えれる。
主な理由って2番なんだろうか。
7. NullPointerExceptionが発生するのは主にどういう状況か?
参照元がない
8. オーバーロードとオーバーライドの違いは何か?
オーバーロードが戻り値とかメソッド名が同じだけど、引数が違うことで、
オーバーライドが拡張して使用することだったと思う。
9. コンストラクタとは何か?
インスタンスの初期設定
10. インターフェイスを利用する目的を1つ説明せよ
クラス間のインスタンスを渡したり、通知するパイプ役

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です