100+ Java インタビューの質問と回答 (2025)
Java 新入社員向けプログラミング面接の質問と回答
1) 内部クラスとサブクラスの違いは何ですか?
内部クラスは、別のクラス内にネストされたクラスです。 内部クラスは、それをネストしているクラスに対するアクセス権を持ち、外部クラスで定義されているすべての変数とメソッドにアクセスできます。
サブクラスとは、スーパークラスと呼ばれる別のクラスを継承したクラスです。 サブクラスは、そのスーパークラスのすべてのパブリックおよび保護されたメソッドとフィールドにアクセスできます。
👉 無料の PDF ダウンロード: Java インタビュー インタビューの質問と回答 >>
2) さまざまなアクセス指定子とは Java クラス?
In Javaアクセス指定子は、クラス名の前に使用され、アクセス範囲を定義するキーワードです。クラスのアクセス指定子の種類は次のとおりです。
1) 一般向け: クラス、メソッド、フィールドにはどこからでもアクセスできます。
2) 保護されている: メソッド、フィールドは、それらが属する同じクラスまたはサブクラス、および同じパッケージのクラスからアクセスできますが、外部からはアクセスできません。
3) デフォルト: メソッド、フィールド、クラスには、同じパッケージからのみアクセスでき、ネイティブ パッケージの外部からはアクセスできません。
4) プライベート: メソッド、フィールドは、それらが属する同じクラスからアクセスできます。
3) 静的メソッドと静的変数の目的は何ですか?
オブジェクトごとに個別のコピーを作成するのではなく、クラスの複数のオブジェクト間でメソッドまたは変数を共有する必要がある場合、static キーワードを使用してメソッドまたは変数をすべてのオブジェクトで共有します。
4) データのカプセル化とは何ですか?またその重要性は何ですか?
カプセル化は、プロパティとメソッドを XNUMX つのユニットに結合するためのオブジェクト指向プログラミングの概念です。
カプセル化は、各オブジェクトが独自のメソッドと変数のセットを持ち、他のオブジェクトから独立してその機能を提供するため、プログラマーがソフトウェア開発のモジュール式アプローチに従うのに役立ちます。 カプセル化はデータを隠す目的もあります。
5) シングルトンクラスとは何ですか? 実際の使用例を示します。
Java のシングルトン クラスはインスタンスを XNUMX つだけ持つことができるため、そのすべてのメソッドと変数は XNUMX つのインスタンスにのみ属します。 シングルトン クラスの概念は、クラスのオブジェクトの数を制限する必要がある場合に役立ちます。
シングルトン使用シナリオの最良の例は、ドライバーの制限またはライセンスの問題により、データベースへの接続が XNUMX つだけという制限がある場合です。
6) ループとは何か Java? ループには3つの種類がありますか?
ループは、ステートメントまたはステートメントのブロックを繰り返し実行するためにプログラミングで使用されます。 XNUMXつあります ループの種類 Java:
1) for ループ
Java では for ループを使用して、ステートメントを指定された回数だけ繰り返し実行します。 for ループは、ステートメントを実行する回数がプログラマにわかっている場合に使用されます。
2) While ループ
While ループは、条件が満たされるまで特定のステートメントを繰り返し実行する必要がある場合に使用されます。 while ループでは、ステートメントの実行前に条件が最初にチェックされます。
3) While ループを実行する
Do While ループは While ループと同じですが、ステートメントのブロックの実行後に条件がチェックされる点が異なります。 したがって、do while ループの場合、ステートメントは少なくとも XNUMX 回実行されます。
7) 無限ループとは何ですか? 無限ループはどのように宣言されるのでしょうか?
無限ループは条件なしで実行され、無限に実行されます。 無限ループは、ステートメント ブロックの本体で中断ロジックを定義することで中断できます。
無限ループは次のように宣言されます。
for (;;) { // Statements to execute // Add any loop breaking logic }
8) continue ステートメントと Break ステートメントの違いは何ですか?
Break と continue は、ループで使用される XNUMX つの重要なキーワードです。 ループ内で Break キーワードが使用されると、ループは即座に中断されますが、Continue キーワードが使用されると、現在の反復が中断され、ループは次の反復に継続されます。
以下の例では、カウンタが 4 に達するとループが中断されます。
for (counter = 0; counter & lt; 10; counter++) system.out.println(counter); if (counter == 4) { break; } }
以下の例では、カウンタが 4 に達すると、ループは次の反復にジャンプし、現在の反復では continue キーワードの後のステートメントがスキップされます。
for (counter = 0; counter < 10; counter++) system.out.println(counter); if (counter == 4) { continue; } system.out.println("This will not get printed when counter is 4"); }
9) double変数とfloat変数の違いは何ですか? Java?
Javaでは、floatはメモリ内で4バイトを必要としますが、 Double メモリ内に 8 バイトを必要とします。 Float は単精度浮動小数点 XNUMX 進数ですが、 Double 倍精度小数点数です。
10) Finalキーワードとは Java? 例を挙げてください。
Java では、定数はキーワード Final を使用して宣言されます。 値を割り当てることができるのは XNUMX 回だけであり、割り当て後は定数の値を変更することはできません。
以下の例では、const_val という名前の定数が宣言され、値が割り当てられます。
プライベート最終 int const_val=100
メソッドがfinalとして宣言されている場合、サブクラスによってオーバーライドすることはできません。 このメソッドはコンパイル時に解決されるため、他のメソッドよりも高速です。
クラスが final として宣言されている場合、サブクラス化することはできません。例: String、Integer、その他のラッパー クラス。
11) 三項演算子とは何ですか? 例を挙げてください。
三項演算子は条件演算子とも呼ばれ、ブール値の評価に基づいて変数に割り当てる値を決定するために使用されます。これは ? と表記されます。
以下の例では、ランクが 1 の場合、ステータスには「完了」の値が割り当てられ、それ以外の場合は「保留中」の値が割り当てられます。
public class conditionTest { public static void main(String args[]) { String status; int rank = 3; status = (rank == 1) ? "Done" : "Pending"; System.out.println(status); } }
12) 乱数を生成するにはどうすればいいですか? Java?
- Math.random()を使用すると、0.1以上1.0未満の範囲で乱数を生成できます。
- パッケージjava.utilのRandomクラスの使用
13) デフォルトのスイッチケースとは何ですか? 例を挙げてください。
で switchステートメント、デフォルトのケースは、他のスイッチ条件が一致しない場合に実行されます。 デフォルトのケースはオプションのケースです。他のすべてのスイッチケースがコーディングされた後でのみ宣言できます。
以下の例では、スコアが 1 または 2 ではない場合、デフォルトのケースが使用されます。
public class SwitchExample { public static void main(String args[]) { int score = 4; // Declare the score variable inside the main method switch (score) { case 1: System.out.println("Score is 1"); break; case 2: System.out.println("Score is 2"); break; default: System.out.println("Default Case"); } } }
14) 基本クラスは何ですか? Java すべてのクラスはどこから派生しますか?
java.lang.object
15) main()メソッドは Java 何かデータを返すことはできますか?
Java では、main() メソッドはデータを返すことができないため、常に void 戻り値の型で宣言されます。
16) とは何ですか Java パッケージ?パッケージの重要性は何ですか?
In Javaパッケージとは、互いに関連しているためにまとめられたクラスとインターフェースのコレクションです。パッケージを使用すると、開発者はコードをモジュール化し、適切に再利用できるようにコードをグループ化できます。コードをパッケージにパッケージ化すると、他のクラスにインポートして使用できるようになります。
17) 抽象メソッドを持たずにクラスを Abstract として宣言できますか?
はい、抽象メソッドがない場合でも、クラス名の前に abstract キーワードを使用して抽象クラスを作成できます。ただし、クラスに抽象メソッドが 1 つでもある場合は、abstract として宣言する必要があります。そうしないと、エラーが発生します。
18) 抽象クラスとインターフェースの違いは何ですか? Java?
抽象クラスとインターフェイスの主な違いは、インターフェイスは具体的な実装を持たないパブリック静的メソッドの宣言のみを持つことができるのに対し、抽象クラスは具体的な実装の有無にかかわらず、任意のアクセス指定子 (パブリック、プライベートなど) を持つメンバーを持つことができることです。
抽象クラスとインターフェイスの使用におけるもう XNUMX つの重要な違いは、インターフェイスを実装するクラスはインターフェイスのすべてのメソッドを実装する必要があるのに対し、抽象クラスを継承するクラスはそのスーパー クラスのすべてのメソッドを実装する必要がないことです。
クラスは複数のインターフェイスを実装できますが、拡張できる抽象クラスは XNUMX つだけです。
19) 抽象クラスに対するインターフェイスのパフォーマンスへの影響は何ですか?
インターフェイスには追加の間接参照が必要になるため、インターフェイスは抽象クラスに比べてパフォーマンスが遅くなります。 開発者が考慮すべきもう XNUMX つの重要な要素は、クラスは多くのインターフェイスを実装できる一方で、クラスは XNUMX つの抽象クラスのみを拡張できるということです。
また、インターフェイスがクラスに実装されるたびに、インターフェイスを使用すると開発者に余分な負担がかかります。 開発者はインターフェイスのあらゆるメソッドを実装する必要があります。
20) パッケージをインポートすると、そのサブパッケージもインポートされますか? Java?
Java では、パッケージがインポートされるとき、そのサブパッケージはインポートされないため、開発者は必要に応じてサブパッケージを個別にインポートする必要があります。
たとえば、開発者がパッケージuniversity.*をインポートすると、universityという名前のパッケージ内のすべてのクラスがロードされますが、サブパッケージのクラスはロードされません。 サブパッケージ (たとえば部門) からクラスをロードするには、開発者は次のようにそれを明示的にインポートする必要があります。
大学.学部*をインポートします
21) クラスの main メソッドを private として宣言できますか?
Java では、アプリケーションを正しく実行するには main メソッドを public static にする必要があります。 main メソッドがプライベートとして宣言されている場合、開発者はコンパイル エラーを受け取りませんが、実行されず、ランタイム エラーが発生します。
22) 値渡しではなく参照によって関数に引数を渡すにはどうすればよいですか?
Java では、引数を参照ではなく値によってのみ関数に渡すことができます。
23) Java でオブジェクトはどのようにシリアル化されますか?
Javaでは、オブジェクトをシリアル化によってバイトストリームに変換するために、Serializableという名前のインターフェースがクラスによって実装されます。 シリアル化可能なインターフェイスを実装するクラスのすべてのオブジェクトはシリアル化され、その状態はバイト ストリームに保存されます。
24) シリアル化を使用する必要があるのはどのような場合ですか?
シリアル化は、データをネットワーク経由で送信する必要がある場合に使用されます。 シリアル化を使用すると、オブジェクトの状態が保存され、バイト ストリームに変換されます。バイト ストリームはネットワーク経由で転送され、オブジェクトは宛先で再作成されます。
25) Tryブロックの後にCatchブロックが続くことは必須ですか? Java 例外処理用ですか?
Try ブロックの後には、Catch ブロック、Finally ブロック、あるいはその両方が続く必要があります。 try ブロックからスローされた例外はすべて、catch ブロックでキャッチするか、コードを中止する前に実行する特定のタスクを Final ブロックに入れる必要があります。
Java 経験者向けの面接の質問と回答
26) 例外ブロックで何らかの例外が発生しても、例外のFinallyブロックをスキップする方法はありますか?
Try ブロックで例外が発生した場合、制御は catch ブロックが存在する場合は catch ブロックに渡され、存在しない場合は finally ブロックに渡されます。例外が発生すると、必ず finally ブロックが実行され、Finally ブロック内のステートメントの実行を回避する唯一の方法は、try ブロックの最後に次のコード行を記述して、コードを強制的に中止することです。
System.exit(0);
27) クラスのコンストラクターが呼び出されるとき?
クラスのコンストラクターは、オブジェクトが new キーワードで作成されるたびに呼び出されます。
たとえば、次のクラスでは、 new キーワードを使用して 2 つのオブジェクトが作成されるため、コンストラクターが 2 回呼び出されます。
public class const_example { const_example() { system.out.println("Inside constructor"); } public static void main(String args[]) { const_example c1 = new const_example(); const_example c2 = new const_example(); } }
28) クラスに複数のコンストラクターを含めることはできますか?
はい、クラスには、異なるパラメーターを持つ複数のコンストラクターを含めることができます。 オブジェクトの作成にどのコンストラクターが使用されるかは、オブジェクトの作成中に渡される引数によって異なります。
29) クラスの静的メソッドをオーバーライドできますか?
静的メソッドをオーバーライドすることはできません。 静的メソッドは個々のオブジェクトではなくクラスに属し、実行時ではなくコンパイル時に解決されます。静的メソッドをオーバーライドしようとしても、コンパイル エラーは発生せず、実行時にオーバーライドの影響も受けません。コード。
30) 以下の例では、出力は何になりますか?
public class superclass { public void displayResult() { system.out.println("Printing from superclass"); } } public class subclass extends superclass { public void displayResult() { system.out.println("Displaying from subClass"); super.displayResult(); } public static void main(String args[]) { subclass obj = new subclass(); obj.displayResult(); } }
アンス: 出力は次のようになります:
サブクラスから表示する
スーパークラスからの印刷
31) String は Java のデータ型ですか?
文字列はJavaのプリミティブデータ型ではありません。Javaで文字列が作成されると、それは実際には Java作成される .Lang.String クラス。この文字列オブジェクトの作成後、String クラスのすべての組み込みメソッドを文字列オブジェクトで使用できるようになります。
32) 以下の例では、文字列オブジェクトがいくつ作成されますか?
String s1="I am Java Expert"; String s2="I am C Expert"; String s3="I am Java Expert";
上記の例では、 Java.Lang.String クラスが作成されます。s1 と s3 は同じオブジェクトへの参照です。
33) 文字列が Java 不変と呼ばれますか?
Java では、文字列オブジェクトは、文字列に値が割り当てられると変更できず、変更された場合は新しいオブジェクトが作成されるため、不変と呼ばれます。
以下の例では、参照 str は、値「Value one」を持つ文字列オブジェクトを参照します。
String str="Value One";
新しい値が割り当てられると、新しい String オブジェクトが作成され、参照は新しいオブジェクトに移動されます。
str="New Value";
34) 配列とベクトルの違いは何ですか?
配列は同じプリミティブ型のデータをグループ化し、本質的に静的であるのに対し、ベクトルは本質的に動的であり、異なるデータ型のデータを保持できます。
35) マルチスレッドとは何ですか?
マルチスレッドは、単一のプログラム内で複数のタスクを同時に実行するプログラミングの概念です。 スレッドは同じプロセス スタックを共有し、並行して実行されます。 あらゆるプログラムのパフォーマンス向上に役立ちます。
36) 実行可能インターフェースが使用される理由 Java?
Runnable インターフェースは、Java でマルチスレッド アプリケーションを実装するために使用されます。 Java.Lang.Runnable インターフェースは、マルチスレッドをサポートするためにクラスによって実装されます。
37) マルチスレッドを実装するXNUMXつの方法は何ですか? Java?
マルチスレッドアプリケーションは、 Java 次の 2 つの方法のいずれかを使用します。
1)を使用して Java.Lang.Runnable インターフェイス。クラスは、マルチスレッドを有効にするためにこのインターフェイスを実装します。このインターフェイスには、実装されている Run() メソッドがあります。
2) 拡張クラスを書くことによって Java.Lang.Thread クラス。
38) データに多くの変更が必要な場合、どれを優先して使用する必要がありますか?文字列または文字列Buffer?
文字列以来Bufferは本質的に動的であり、文字列の値を変更できます。Buffer オブジェクトは不変である String とは異なり、常に String を使用することをお勧めします。Buffer データの変更が多すぎる場合。このような場合に String を使用すると、データが変更されるたびに新しい String オブジェクトが作成され、余分なオーバーヘッドが発生します。
39) Switch ステートメントのそれぞれのケースで Break を使用する目的は何ですか?
Break は、スイッチ内の各ケース (最後のケースを除く) の後に使用されるため、コードは有効なケースの後に中断され、その後のケースにも流れません。
各ケースの後に Break が使用されていない場合、有効なケースの後のすべてのケースも実行され、間違った結果が生じます。
40) ガベージコレクションの仕組み Java?
Javaでは、オブジェクトが参照されなくなると、 ごみ収集 が実行され、オブジェクトは自動的に破棄されます。自動ガベージ コレクションの場合、Java は System.gc() メソッドまたは Runtime.gc() メソッドのいずれかを呼び出します。
41) main メソッドの前でもコードを実行するにはどうすればよいですか?
クラスのロード時にオブジェクトを作成する前にステートメントを実行したい場合は、クラス内で静的なコード ブロックを使用できます。 このコードの静的ブロック内のステートメントは、メイン メソッドでオブジェクトが作成される前であっても、クラスのロード時に XNUMX 回実行されます。
42) クラスは同時にスーパークラスとサブクラスになることができますか? 例を挙げてください。
継承の階層が使用されている場合、クラスは別のクラスのスーパークラスになることができ、同時に別のクラスのサブクラスになることができます。
以下の例では、大陸クラスはワールド クラスのサブクラスであり、国クラスのスーパー クラスです。
public class world { .......... } public class continenet extends world { ............ } public class country extends continent { ...................... }
43) クラスにコンストラクターが定義されていない場合、クラスのオブジェクトはどのように作成されますか?
Java クラスで明示的なコンストラクターが定義されていない場合でも、オブジェクトの作成にはデフォルトのコンストラクターが暗黙的に使用されるため、オブジェクトは正常に作成されます。 このコンストラクターにはパラメーターがありません。
44) マルチスレッドでは、リソースが複数のスレッドによって同時に使用されないようにするにはどうすればよいでしょうか?
マルチスレッドでは、複数のスレッド間で共有されるリソースへのアクセスは、同期の概念を使用して制御できます。 同期キーワードを使用すると、一度に XNUMX つのスレッドだけが共有リソースを使用でき、他のスレッドが共有リソースを使用している他のスレッドから解放された場合にのみリソースの制御を取得できるようになります。
45) オブジェクトに対してクラスのコンストラクターを複数回呼び出すことはできますか?
new キーワードを使用してオブジェクトを作成すると、コンストラクターが自動的に呼び出されます。 このコンストラクターは、オブジェクトの作成時にオブジェクトに対して XNUMX 回だけ呼び出されるため、オブジェクトの作成後にオブジェクトに対して再度コンストラクターを呼び出すことはできません。
46) classA と classB という名前の XNUMX つのクラスがあります。 両方のクラスが同じパッケージ内にあります。 classA のプライベート メンバーに classB のオブジェクトからアクセスできますか?
クラスのプライベート メンバーには、そのクラスのスコープ外からはアクセスできません。また、同じパッケージ内の他のクラスもアクセスできません。
47) クラス内に同じ名前の XNUMX つのメソッドを含めることはできますか?
同じ名前で、異なる数/タイプのパラメーターを持つ XNUMX つのメソッドをクラス内に定義できます。 どのメソッドが呼び出されるかは、渡されたパラメータによって異なります。
たとえば、以下のクラスには、名前は同じですがパラメータが異なる XNUMX つの print メソッドがあります。 パラメータに応じて、適切なパラメータが呼び出されます。
public class methodExample { public void print() { system.out.println("Print method without parameters."); } public void print(String name) { system.out.println("Print method with parameter"); } public static void main(String args[]) { methodExample obj1 = new methodExample(); obj1.print(); obj1.print("xx"); } }
48) Java オブジェクトのコピーを作成するにはどうすればよいですか?
クローン作成の概念を使用して、オブジェクトのコピーを作成できます。 クローンを使用して、オブジェクトの実際の状態のコピーを作成します。
Clone() は Cloneable インターフェイスのメソッドであるため、オブジェクトのコピーを作成するには Cloneable インターフェイスを実装する必要があります。
49) 継承を使用する利点は何ですか?
継承を使用する主な利点は、継承によってサブクラスがそのスーパークラスのコードを再利用できるため、コードが再利用できることです。 ポリモーフィズム (拡張性) も大きな利点であり、既存の派生クラスに影響を与えることなく新しい機能を導入できます。
50) クラスの変数とメソッドのデフォルトのアクセス指定子は何ですか?
変数とメソッドのデフォルトのアクセス指定子はパッケージで保護されています。つまり、変数とクラスは、パッケージの外ではなく同じパッケージ内にある他のクラスで使用できます。
51) ポインタの使用例を挙げてください。 Java とに提供されます。
ポインタはありません Javaポインタの概念は使えません Java.
52) クラスが継承できないようにクラスの継承を制限するにはどうすればよいですか?
クラスをどのクラスによっても拡張したくない場合は、キーワードを使用できます。 終 クラス名と一緒に。
次の例では、StoneクラスはFinalであり、拡張できません。
public Final Class Stone { // Class methods and Variables }
53) Protected Access 指定子のアクセス範囲は何ですか?
メソッドまたは変数が Protected アクセス指定子を使用して宣言されると、同じクラス、同じパッケージの他のクラス、およびサブクラスでアクセス可能になります。
変更 | CLASS | パッケージ | サブクラス | 世界 |
---|---|---|---|---|
公共 | Y | Y | Y | Y |
保護された | Y | Y | Y | N |
修飾子なし | Y | Y | N | N |
プライベート | Y | N | N | N |
54) スタックとキューの違いは何ですか?
スタックとキューは両方とも、データのコレクションのプレースホルダーとして使用されます。 スタックとキューの主な違いは、スタックは後入れ先出し (LIFO) 原則に基づいているのに対し、キューは FIFO (先入れ先出し) 原則に基づいていることです。
55) Java では、変数のシリアル化をどのようにして禁止できますか?
クラスの特定の変数をシリアル化したくない場合は、キーワードを使用できます。 トランジェント と宣言しながら。 たとえば、以下の変数 trans_var は一時変数であり、シリアル化できません。
public class transientExample { private transient trans_var; // rest of the code }
56) プリミティブ データ型をオブジェクトとして使用するにはどうすればよいですか?
int のようなプリミティブ データ型は、それぞれのラッパー クラスを使用することでオブジェクトとして処理できます。 たとえば、Integer はプリミティブ データ型 int のラッパー クラスです。 他のオブジェクトと同様に、ラッパー クラスにさまざまなメソッドを適用できます。
57) コンパイル時にどのタイプの例外がキャッチされますか?
チェックされた例外は、プログラムのコンパイル時にキャッチできます。 コードを正常にコンパイルするには、コード内で try catch ブロックを使用してチェック例外を処理する必要があります。
58) スレッドのさまざまな状態を説明します。
スレッドの Java 次のいずれかの状態になります。
- Ready: スレッドが作成されると、スレッドは Ready 状態になります。
- 実行中: 現在実行中のスレッドは実行状態です。
- 待機中: 別のスレッドが特定のリソースを解放するのを待っているスレッドは待機状態になります。
- Dead: 実行後に停止したスレッドはデッド状態になります。
59) 明示的なコンストラクターが定義されている場合でも、クラスのデフォルトのコンストラクターを使用できますか?
Java 明示的なコンストラクタが定義されていない場合は、デフォルトの引数なしコンストラクタを提供します。 Java クラス。ただし、明示的なコンストラクターが定義されている場合は、デフォルトのコンストラクターを呼び出すことができず、開発者はクラスで定義されているコンストラクターのみを使用できます。
60) 同じメソッド名と引数を使用してメソッドをオーバーライドできますが、戻り値の型は異なりますか?
メソッドのオーバーライドの基本条件は、メソッド名、引数、および戻り値の型が、オーバーライドされるメソッドのそれとまったく同じである必要があることです。 したがって、別の戻り値の型を使用してもメソッドはオーバーライドされません。
61) 次のコードの出力は何でしょうか?
public class operatorExample { public static void main(String args[]) { int x = 4; system.out.println(x++); } }
この場合、最初に値を返してから増分する接尾辞 ++ 演算子が使用されています。したがって、出力は 4 になります。
61) main メソッドさえ持たずに Java クラスを正常にコンパイルしたと言う人がいますか? 出来ますか?
メインメソッドは、 Java ただし、プログラムの実行にはクラスが必要です。クラスは、main メソッドがなくても正常にコンパイルされます。ただし、実行することはできません。
62) 静的メソッド内から非静的メソッドを呼び出すことはできますか?
非静的メソッドはクラスのオブジェクトによって所有され、オブジェクト レベルのスコープを持ちます。非静的メソッドを静的ブロックから (静的メイン メソッドからなど) 呼び出すには、最初にクラスのオブジェクトを作成する必要があります。 次に、オブジェクト参照を使用して、これらのメソッドを呼び出すことができます。
63) 実行時に設定する必要があるXNUMXつの環境変数は何ですか? Java プログラム?
Java プログラムは、次の 2 つの環境変数が適切に設定された場合にのみマシンで実行できます。
- PATH変数
- CLASSPATH 変数
64) 変数は Java 初期化なしで?
In Java変数が有効な値で事前に初期化されずにコード内で使用される場合、プログラムはコンパイルされず、変数にデフォルト値が割り当てられていないためエラーが発生します。 Java.
65) クラスは Java 複数のクラスから継承できますか?
In Javaでは、クラスは1つのクラスからのみ派生でき、複数のクラスから派生することはできません。多重継承はサポートされていません。 Java.
66) コンストラクタの名前はクラス名と異なる名前にできますか? Java?
コンストラクター Java クラス名と同じ名前を持つ必要があり、名前が異なる場合はコンストラクターとして機能せず、コンパイラーは通常のメソッドとして認識します。
67) Round(3.7)とCeil(3.7)の出力はどうなりますか?
Round(3.7) は 4 を返し、Ceil(3.7) は 4 を返します。
68) gotoは使えますか? Java 特定の行に移動しますか?
In Javagoto キーワードはなく、Java は特定のラベル付き行に移動するこの機能をサポートしていません。
69) 死んだスレッドを再び開始することはできますか?
Java では、デッド状態になったスレッドを再度開始することはできません。 死んだスレッドを再開する方法はありません。
70) 次のクラス宣言は正しいですか?
public abstract final class testClass { // Class methods and variables }
回答: 抽象クラスは Final として宣言できないため、上記のクラス宣言は正しくありません。
71) JDKは各マシンで実行する必要がありますか? Java プログラム?
JDKは開発キットです Java 開発と実行にのみ必要です Java マシン上でプログラムを実行する場合、JDK は必要ありません。JRE のみが必要です。
72) equals メソッドによる比較と == 演算子による比較の違いは何ですか?
In Javaequals() メソッドは、2 つの文字列オブジェクトの内容を比較するために使用され、2 つの値が同じ場合は true を返します。一方、== 演算子は、2 つの文字列オブジェクトの参照を比較します。
次の例では、2 つの文字列オブジェクトの値が同じであるため、equals() は true を返します。ただし、両方の文字列オブジェクトが異なるオブジェクトを参照しているため、== 演算子は false を返します。
public class equalsTest { public static void main(String args[]) { String str1 = new String("Hello World"); String str2 = new String("Hello World"); if (str1.equals(str2)) { // this condition is true System.out.println("str1 and str2 are equal in terms of values"); } if (str1 == str2) { //This condition is true System.out.println("Both strings are referencing same object"); } else { // This condition is NOT true System.out.println("Both strings are referencing different objects"); } } }
73) メソッドを定義することは可能ですか? Java クラスですが、C などの別の言語のコードでその実装を提供しますか?
はい、ネイティブメソッドを使用することでこれを実現できます。ネイティブメソッドベースの開発の場合、パブリックな静的メソッドを Java 実装のないクラスを作成し、C などの別の言語で別途実装を行います。
74) デストラクタはどのように定義されるか Java?
In Javaクラスにはデストラクタが定義されていません。必要がないためです。 Java 独自のガベージ コレクション メカニズムがあり、参照されなくなったオブジェクトを自動的に破棄して処理を実行します。
Java 5年以上の経験者向けの面接の質問と回答
75) 変数はローカルでありながら同時に静的であることはできますか?
いいえ、変数を静的であると同時にローカルにすることはできません。 ローカル変数を静的として定義すると、コンパイル エラーが発生します。
76) インターフェースに静的メソッドを含めることはできますか?
静的メソッドはどのクラスでもオーバーライドできませんが、インターフェース内のメソッドはデフォルトで抽象メソッドであり、インターフェースを実装するクラスで実装されることになっています。したがって、インターフェースに静的メソッドを持つことは意味がありません。 Java.
77) インターフェースを実装するクラスでは、インターフェースで定義された変数の値を変更できますか?
いいえ、インターフェイスで定義されているすべての変数はデフォルトで public、static、Final であり、final 変数は後で変更できない定数のようなものであるため、実装クラスでインターフェイスの変数の値を変更することはできません。
78) ガベージコレクション機能により、 JavaJava プログラムはメモリ不足にならないのですか?
自動ガベージコレクションは Java、それは保証するものではない Java プログラムはメモリ不足に陥らないため、 Java オブジェクトのクリアはガベージ コレクションに比べて速いペースで実行され、使用可能なメモリ リソースがすべて埋め尽くされます。
したがって、ガベージ コレクションはプログラムがメモリ不足になる可能性を減らすのに役立ちますが、それを保証するものではありません。
79) main メソッドに void 以外の戻り値の型を使用できますか?
いいえ、 Java プログラムが正常に実行されるためには、クラスのメイン メソッドには void 戻り値の型のみを持たせることができます。
それにもかかわらず、メインメソッドの完了時に値を返す必要がある場合は、System.exit(int status) を使用できます。
80) ガベージ コレクションされたオブジェクトに再度アクセスして使用したいと考えています。 どのようにしてそれが可能でしょうか?
オブジェクトがガベージ コレクターによって破棄されると、そのオブジェクトはヒープ上に存在しなくなり、再度アクセスできなくなります。再度参照する方法はありません。
81)で Java スレッド プログラミングでは、すべてのスレッドに実装する必要があるメソッドはどれですか。
Run() は、すべてのスレッドで実装する必要がある Runnable インターフェイスのメソッドです。
82) プログラム内でデータベース接続を制御したいのですが、一度に XNUMX つのスレッドだけがデータベース接続できるようにしたいと考えています。 このロジックを実装するにはどうすればよいですか?
回答: これは同期の概念を使用して実装できます。データベース関連のコードは、 同期された キーワードを使用して、一度に XNUMX つのスレッドのみがアクセスできるようにします。
83) プログラマはどのようにして手動で例外をスローできますか?
コードのブロックで例外を手動でスローするには、 投げる というキーワードが使われています。 次に、この例外は catch ブロックでキャッチされ、処理されます。
public void topMethod() { try { excMethod(); } catch (ManualException e) {} } public void excMethod { String name = null; if (name == null) { throw (new ManualException("Exception thrown manually "); } }
84) 私のクラスは、他のクラス (派生クラスであっても) がそのオブジェクトを作成できないように開発したいと考えています。 どうすればそうできるでしょうか?
クラスのコンストラクターをプライベートとして宣言すると、他のクラスからはアクセスできなくなるため、他のクラスはそのコンストラクターをインスタンス化できなくなり、そのオブジェクトの形成はそれ自体にのみ制限されます。
85) オブジェクトの保存方法 Java?
Java では、各オブジェクトは作成されるとヒープからメモリ領域を取得します。オブジェクトがガベージ コレクターによって破棄されると、ヒープからそのオブジェクトに割り当てられた領域がヒープに再割り当てされ、新しいオブジェクトに使用できるようになります。
86) ヒープ上のオブジェクトの実際のサイズを確認するにはどうすればよいですか?
Java では、ヒープ上のオブジェクトの正確なサイズを確認する方法はありません。
87) 次のクラスのうち、より多くのメモリが割り当てられるのはどれですか?
クラス A: XNUMX つのメソッド、XNUMX つの変数、オブジェクトなし
クラス B: XNUMX つのメソッド、XNUMX つの変数、オブジェクトなし
オブジェクトの作成前にメモリは割り当てられません。 どちらのクラスでもオブジェクトが作成されないため、どのクラスのヒープにもメモリが割り当てられません。
88) プログラム内で例外が処理されない場合はどうなりますか?
プログラム内で try catch ブロックを使用して例外が処理されない場合、プログラムは中止され、例外のスローを引き起こしたステートメントの後のステートメントは実行されません。
89) クラス内に複数のコンストラクターが定義されています。 別のコンストラクターの本体からコンストラクターを呼び出すことはできますか?
クラスに複数のコンストラクターがある場合、次を使用して別のコンストラクターの本体から XNUMX つのコンストラクターを呼び出すことができます。 この().
90) 匿名クラスとはどういう意味ですか?
匿名クラスは、new キーワードを使用して XNUMX 行のコードで名前を付けずに定義されたクラスです。
たとえば、以下のコードでは、XNUMX 行のコードで匿名クラスを定義しています。
public java.util.Enumeration testMethod() { return new java.util.Enumeration() { @Override public boolean hasMoreElements() { // TODO Auto-generated method stub return false; } @Override public Object nextElement() { // TODO Auto-generated method stub return null; } }
91) 配列の宣言後に配列のサイズを増やす方法はありますか?
配列は静的であり、そのサイズを一度指定すると変更することはできません。 サイズ (項目数) の変更が必要になる可能性があるコレクションを使用したい場合は、配列よりもベクトルを優先する必要があります。
92) アプリケーションに複数のクラスがある場合、複数のクラスに main メソッドがあっても問題ありませんか?
Java アプリケーションの複数のクラスに main メソッドがある場合、アプリケーションのエントリ ポイントは特定のクラスになり、コードはその特定のクラスの main メソッドからのみ開始されるため、問題は発生しません。
93) 後で使用するためにオブジェクトのデータを保存したいのですが、これを行うための最善の方法は何ですか?
将来の使用に備えてデータを永続化する最良の方法は、シリアル化の概念を使用することです。
94) ローカルクラスとは Java?
In Java特定のブロック内で新しいクラスを定義すると、それはローカル クラスと呼ばれます。このようなクラスはローカル スコープを持ち、定義されているブロックの外部では使用できません。
95) 紐と紐Buffer どちらも String オブジェクトを表します。文字列と文字列を比較できますかBuffer in Java?
文字列と文字列ですがBuffer どちらも String オブジェクトを表すため、相互に比較することはできず、比較しようとするとエラーが発生します。
96) どのAPIが提供されていますか? Java オブジェクトのセットに対する操作ですか?
Java オブジェクトのセットに適用できる多くの便利なメソッドを提供する Collection API を提供します。Collection API によって提供される重要なクラスには、ArrayList、HashMap、TreeSet、TreeMap などがあります。
97) 型キャストを使用して他の型をブール型にキャストできますか?
いいえ、他のプリミティブ型をブール データ型にキャストしたり、ブール データ型を他のプリミティブ データ型にキャストしたりすることはできません。
98) オーバーライドするときにメソッドに異なる戻り値の型を使用できますか?
メソッドオーバーライドの基本要件 Java オーバーライドされたメソッドは同じ名前とパラメータを持つ必要があります。ただし、新しい戻り値の型が元のメソッドを拡張する限り、メソッドを異なる戻り値の型でオーバーライドできます。
たとえば、メソッドは参照型を返します。
Class B extends A { A method(int x) { //original method } B method(int x) { //overridden method } }
99) すべての例外クラスの基本クラスは何ですか?
In Java, Java.lang.Throwable
はすべての例外クラスのスーパークラスであり、すべての例外クラスはこの基本クラスから派生します。
100) 継承におけるコンストラクターの呼び出し順序は何ですか?
継承の場合、派生クラスの新しいオブジェクトが作成されると、最初にスーパークラスのコンストラクターが呼び出され、次に派生クラスのコンストラクターが呼び出されます。
就職面接の準備をしましょう! 通り抜ける Java チュートリアル より良い準備をするために。
この詳細 Java 模擬テストクイズは、次のような疑問を解消するのに役立ちます。 Java 面接の質問と回答をまとめたもので、面接を突破するのにも役立ちます。
ボーマン Java と Java 面接の質問8つ ビバ(口腔)にも役立ちます