Java 継承に関するインタビューの質問

王林
リリース: 2024-08-30 16:29:02
オリジナル
445 人が閲覧しました

継承は Java などのオブジェクト指向プログラミングの主要な概念であり、これによってメソッドや属性などのプロパティをあるクラスから別のクラスに継承できます。あるクラスから派生したクラスをサブクラス、サブクラスの派生元のクラスをスーパークラスと呼びます。サブクラスは常に 1 つのスーパークラスのみを持つことができますが、スーパークラスは複数のサブクラスを持つことができます。サブクラスは、スーパークラスから属性やメソッドなどのプロパティを継承できます。車両の例がスーパークラスであるのに対し、車、バイク、トラックなどがサブクラスであるのに対し、車、バイク、トラックは車両のプロパティを継承でき、継承はプログラミングやコードの再利用に非常に役立ちます。

プライベート スコープとコンストラクターで宣言されている場合、サブクラスはスーパークラスからプロパティを継承できない、サブクラスは初期化子を継承できない、各サブクラスはスーパークラスを 1 つだけ持つことができるなど、継承にはいくつかの制限があります。 Java の継承はオブジェクト指向プログラミングで最も重要なトピックであり、プログラミング関連の面接の質問でも重要です。そこで、相続面接の質問をさまざまな方法や文脈で簡単に見ていきます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java 継承に関連する仕事を探している場合は、2023 年の Java 継承面接の質問に備える必要があります。それぞれの面接は、職種の違いに応じて実際に異なります。ここでは、面接での成功に役立つ、Java 継承に関する面接の重要な質問を用意しました。

この 2023 年の Java 継承面接の質問記事では、最も重要で頻繁に使用される Java 継承面接の質問 10 個を紹介します。これらの面接の質問は次の 2 つの部分に分かれています:

パート 1 – Java 継承に関するインタビューの質問 (基本)

この最初のパートでは、Java 継承インタビューの基本的な質問と回答について説明します。

Q1Java における継承と合成の違いは何ですか?

答え:
Java は合成と継承の両方をサポートしていますが、両方は多くの点で異なります。構成オブジェクトは、緩やかな境界関係を持つことによって構成クラスへの参照を持ち、クラス間には - の関係があります。これを使用すると、複数のクラス内で構成して依存関係の注入に使用できる単一のクラスを使用できます。構成はオブジェクト間の関係ですが、継承はクラス間の関係であり、継承派生クラスを使用することでクラス間の関係になります。オブジェクトは基本クラス定義を保持するため、厳密に制限された関係になります。これは主に実行時のポリモーフィズムで使用され、この場合、単一のクラスは 1 つのクラスのみを継承できます。

Q2. Java プログラミング言語で使用できる継承の種類は何種類ありますか?

答え:
Java プログラミング言語では、以下の 5 種類の継承があります。

単一継承、マルチレベル継承、階層継承、ハイブリッド継承、および多重継承。

  • 単一継承: この場合、1 つのクラスは 1 つのクラスのみによって継承または拡張されます。
  • ハイブリッド継承: ハイブリッド継承は、単一継承、マルチレベル継承、階層継承の組み合わせです。
  • 多レベル継承: 多レベル継承では、1 つのクラスが 1 つのクラスによって拡張されます。その拡張クラスまたはサブクラスは別のクラスによって拡張されており、クラスのマルチレベル継承の間に一連の関係を形成します。
  • 階層継承: この継承では、1 つのクラスが複数のクラスに拡張されます。
  • 多重継承: この継承では、1 つのクラスが複数のクラスを拡張しますが、Java はそれをサポートしていません。

次の Java 継承に関するインタビューの質問に移りましょう。

Q3. Javaのスーパーキーワードとは何ですか?

答え:
Java の super キーワードは、直接の親クラス オブジェクトへの参照変数です。つまり、サブクラスのインスタンスが作成されるたびに、親クラスのインスタンスが暗黙的に作成されます。これは、super キーワードまたはスーパー参照変数によって参照されることを意味します。 super キーワードにはさまざまな目的があり、super キーワードとして使用すると直接の親クラスの変数を参照でき、super() は直接の親クラスのコンストラクターを参照するのに使用され、super は直接の親クラスのメソッドを呼び出すために使用されます。

Q4.継承とカプセル化の違いは何ですか?

答え:
これらは、面接で尋ねられる一般的な Java 継承面接の質問です。継承は、クラスとオブジェクト指向の概念間の関係です。プログラミング中にコードの責任を実装すると便利です。基本クラスのプロパティを派生クラスまたはサブクラスに拡張することで使用できます。これらにもポリモーフィズムの基礎があります。一方、カプセル化は Java のオブジェクト指向の概念でもあり、メソッドや属性などのクラスの内部詳細を隠すために使用されます。宣言のみが表示されますが、ハッシュ値の保存方法と計算方法をカプセル化するハッシュマップのような定義は表示されません。

Q5. Java におけるメソッドのオーバーロードとは何ですか?

答え:
Java でのメソッドのオーバーロードは、同じ名前で異なるシグネチャで宣言された 2 つのメソッドとして定義されます。たとえば、1 つのメソッドは 2 つのパラメータを受け入れ、別のメソッドは 1 つのパラメータまたは 3 つのパラメータのみを受け入れます。たとえば、System.out.println Java のオーバーロード メソッドです。これを使用してさまざまなデータ型を出力でき、メソッドのオーバーロードは Java のコンパイル時に解決されます。

パート 2 – Java 継承に関するインタビューの質問 (上級)

次に、高度な Java 継承インタビューの質問と回答を見てみましょう。

Q6. Java におけるメソッドのオーバーライドとは何ですか?

答え:
Java でのメソッドのオーバーライドは、同じ名前とシグネチャを持つ 2 つのメソッドが存在するが、コードまたはロジックが異なるため、両方のメソッドが同じサブクラスに存在する必要があると定義されています。 Java ではメソッド呼び出しが実行時に実際のオブジェクトに基づいて解決されるため、実行時ポリモーフィズムに基づいています。

Q7. Java でプライベート メソッドをオーバーライドすることはできますか?

答え:
いいえ、Java でプライベート メソッドをオーバーライドすることはできません。プライベート メソッドのスコープはその特定のクラスのみに制限されており、そのクラスの外部では表示されないため、派生クラスやサブクラスでも表示できません。したがって、プライベート メソッドはオーバーライドされません。

次の Java 継承に関するインタビューの質問に移りましょう。

Q8. Java でのメソッドのオーバーライドのルール?

答え:
Java でのメソッド オーバーライドの規則は、オーバーライド メソッドはオーバーライドされたメソッドより上位の例外をスローできないこと、チェックされた例外に対して適用または true であること、およびオーバーライド メソッドはオーバーライドされたメソッドのスコープを変更できないこと、つまりメソッドがパブリックである場合です。基本クラスでは、サブクラスでも public である必要があります。

Q9. Java では、コンストラクターのオーバーライドは可能ですか?

答え:
これは、面接で尋ねられる最も人気のある Java 継承面接の質問です。 Java では、オーバーライドは常に子クラスまたはサブクラスで発生するためコンストラクターが継承されないため、コンストラクターのオーバーライドはできません。ただし、コンストラクター名はクラス名と同じであるため、コンストラクターのオーバーライドはできませんが、コンストラクターのオーバーロードは可能です。

Q10.クラスは Java で複数のインターフェイスを実装できますか?可能でしょうか?

答え:
Java では、はい、1 つのクラスで複数のインターフェイスを実装できます。 Java では、クラスを殺菌可能であると同時に比較可能にすることができます。これが、プログラミングでインターフェースが主にこの目的で使用される理由の 1 つであり、プログラミング中にクラスをポリモーフィックな役割として使用できます。

最後に、Java 継承に関する面接の質問の結論です。面接の準備が順調に進んでいることを願っています。この Java 継承に関する面接の質問の記事は、面接の準備にさらに役立ちます。面接の準備と面接に最大限の努力をしていただきますようお願いいたします。

以上がJava 継承に関するインタビューの質問の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!