ホームページ  >  記事  >  Java  >  Java の面接でよく遭遇する技術的な問題についてご存知ですか?

Java の面接でよく遭遇する技術的な問題についてご存知ですか?

王林
王林転載
2020-11-04 16:23:392906ブラウズ

Java の面接でよく遭遇する技術的な問題についてご存知ですか?

この記事では、面接中によく遭遇する技術的な問題をいくつかまとめました。お役に立てれば幸いです。

(関連ビデオの推奨: java コース)

1. ".java" ソース ファイルには複数のクラス (内部クラスではない) を含めることはできますか?制限事項は何ですか?

クラスは複数存在できますが、パブリック クラスは 1 つだけ存在でき、パブリック クラス名はファイル名と一致している必要があります。

2. Java には goto がありますか?

は Java の予約語であり、現在 Java では使用されていません。

3. & と && の違いについて話します。

& と && は、論理 AND (and) を示す論理 AND 演算子として使用できます。演算子の両側の式の結果が true の場合、演算結果全体が true になります。それ以外の場合は、 as 当事者の 1 つが false の場合、結果は false になります。 && には短絡機能もあります。つまり、最初の式が false の場合、2 番目の式は評価されなくなります。 & はビット単位の演算子としても使用できます。& 演算子の両側の式がブール型でない場合、& はビット単位の AND 演算を表します。

4. JAVA の現在の複数のネストされたループから抜け出すにはどうすればよいでしょうか?

Java では、複数のループから抜け出す場合は、外側のループ ステートメントの前にラベルを定義し、内側のループ本体のコード内でそのラベルを含む Break ステートメントを使用して抜け出すことができます。外側のループの。

5. switch ステートメントは byte、long、または String に作用できますか?

switch (expr1) では、expr1 は整数、式または列挙型定数 (大きいフォント サイズ) のみにすることができます。整数式は int 基本型または整数ラッパー型にすることができます。byte、short、char はすべて暗黙的に int に変換できるため、これらの型とこれらの型のラッパー型でも問題ありません。当然のことながら、long 型は switch の構文に準拠しておらず、暗黙的に int 型に変換できないため、switch ステートメントでは使用できません。 jdk1.7以降では文字列が使用可能になります。

6. 中国語の文字は char 変数に格納できますか? なぜですか?

char 変数は、Unicode でエンコードされた文字を格納するために使用されます。Unicode でエンコードされた文字セットには中国語の文字が含まれているため、 , もちろん、char型変数には漢字も格納できます。ただし、特殊な中国語文字が Unicode エンコード文字セットに含まれていない場合、特殊な中国語文字をこの char 変数に格納することはできません。追加説明: Unicode エンコーディングは 2 バイトを占有するため、char 型変数も 2 バイトを占有します。

(より関連したインタビューの質問に関する推奨事項: java インタビューの質問と回答 )

7. Final キーワードを使用して変数を変更する場合、それは参照ではありません。変更できますか? それとも参照ですか? オブジェクトは変更できません?

final キーワードを使用して変数を変更する場合、参照変数は変更できませんが、参照変数が指すオブジェクトの内容は変更できることを意味します。

8. 静的変数とインスタンス変数の違いは何ですか?

構文定義の違い: static キーワードは、インスタンス変数の前ではなく、静的変数の前に追加する必要があります。

プログラム実行時の違い: インスタンス変数はオブジェクトの属性に属します。インスタンス変数に領域が割り当てられ、このインスタンス変数が使用できるようになる前に、インスタンス オブジェクトを作成する必要があります。静的変数はインスタンス オブジェクトではなくクラスに属しているため、クラス変数とも呼ばれます。プログラムがインスタンス オブジェクトを作成せずにクラスのバイトコードをロードする限り、静的変数にはスペースが割り当てられ、静的変数を使用できます。

9. 静的メソッド内から非静的メソッドの呼び出しを発行することは可能ですか?

それはできません。非静的メソッドはオブジェクトに関連付けられているため、オブジェクトに対してメソッド呼び出しを行う前にオブジェクトを作成する必要がありますが、静的メソッドは呼び出し時にオブジェクトを作成する必要がなく、直接呼び出すことができます。

つまり、静的メソッドが呼び出されたとき、インスタンス オブジェクトが作成されていない可能性があります。静的メソッドから非静的メソッドへの呼び出しが発行された場合、どのオブジェクトが関連付けられた非静的メソッドであるかということです。どうですか?このロジックは確立できないため、静的メソッドは内部的に非静的メソッドへの呼び出しを発行します。

10. Java でポリモーフィズムを実装するメカニズムは何ですか?

は、親クラスまたはインターフェイスによって定義された参照変数がサブクラスまたは特定の実装クラスのインスタンス オブジェクトを指すことができ、プログラムによって呼び出されるメソッドが実行時に動的にバインドされるという事実に依存しています。参照変数が指す特定のインスタンス オブジェクトのメソッドは、参照変数の型で定義されたメソッドではなく、メモリ内で実行されているオブジェクトのメソッドです。

11. 内部クラスは、そのクラスを含むクラスのメンバーを参照できますか?制限はありますか?

全然大丈夫です。静的内部クラスでなければ、制限はありません。

静的ネストされたクラスを内部クラスの特殊なケースとみなす場合、この場合、外部クラスの通常のメンバー変数にはアクセスできませんが、外部クラスの静的メンバーのみにアクセスできます。 。

よくある 11 の質問は理解されましたか?次回面接に行った際にこのような質問に遭遇したら、スラスラ答えて、早くお気に入りの企業から内定を獲得できるようにしてくださいね!

関連する推奨事項:Java の使用を開始する

以上がJava の面接でよく遭遇する技術的な問題についてご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。