Top 10 dotazů na dědičnost Java Java Interactive (updated for 2019)

Obsah:

Anonim

Úvod do otázek a odpovědí na rozhovor s Inheritance Java Interview

Dědičnost je hlavní koncept objektově orientovaného programování, jako je Java, pomocí kterého můžeme zdědit vlastnosti jako metody, atributy z jedné třídy do druhé třídy. Třída, která je odvozena z jedné třídy, se nazývá podtřída a třída, z níž je odvozena podtřída, se nazývá nadtřída. Podtřída může mít kdykoli pouze jednu nadtřídu, zatímco nadtřída může mít více než jednu podtřídu. Podtřída může zdědit vlastnosti jako atributy, metody z nadřazené třídy. Uvažujme například, že vozidlo je super třída, zatímco auto, motocykl, nákladní automobil atd. Jsou podtřídy, zatímco auto, motocykl, nákladní automobil může zdědit vlastnosti vozidla a dědičnost je velmi užitečná při programování a opětovném použití kódu.

Existují určitá omezení v dědičnosti také jako podtřída nemůže zdědit vlastnosti z nadřazené třídy, pokud jsou deklarovány se soukromým rozsahem a konstruktorem, inicializátor nemůže být zděděn podtřídou a každá podtřída může mít pouze jednu nadřazenou třídu. Java Inheritance je nejdůležitějším tématem v objektově orientovaném programování a důležitým v programových otázkách pohovoru. Takže se krátce podíváme na otázky dědického rozhovoru různými způsoby a kontexty.

Nyní, pokud hledáte práci související s Java Inheritance, musíte se připravit na 2019 Java Inheritance Interview Questions. Je pravda, že každý pohovor se liší podle různých profilů práce. Zde jsme připravili důležité otázky týkající se otázek dědičnosti Java, které vám pomohou dosáhnout úspěchu v rozhovoru.

V tomto článku 2019 Java Inheritance Interview Questions uvedeme 10 nejdůležitějších a nejčastěji používaných otázek Java Inheritance Interview. Tyto rozhovory jsou rozděleny do dvou částí:

Část 1 - Otázky ohledně dědičnosti javy (základní)

Tato první část se zabývá základními otázkami a odpověďmi Interview Java Inheritance Interview.

Q1 . Jaký je rozdíl mezi dědičností a skladbou v Javě?

Odpovědět:
Java podporuje jak složení, tak dědičnost, ale obě se v mnoha ohledech liší. Kompoziční objekty mají odkaz na třídy kompozic tím, že mají volně ohraničený vztah a má - má vztah mezi třídami. Pomocí tohoto můžeme použít jednotlivé třídy, které mohou být složeny do více tříd a použity v závislosti na vstřikování a složení je vztah mezi objekty, zatímco dědičnost je vztah mezi třídami a má vztah mezi třídami a použití dědičnosti odvozeného objektu třídy nese definice základní třídy proto jde o pevně ohraničený vztah. Většinou se používá v polymorfismu za běhu a v tomto případě může jedna třída zdědit pouze jednu třídu.

Q2. Kolik typů dědičnosti je k dispozici v programovacím jazyce Java?

Odpovědět:
V programovacím jazyce java existuje pět typů dědičnosti, jak je uvedeno níže:

Jediná dědičnost, víceúrovňová dědičnost, hierarchická dědičnost, hybridní dědičnost a vícenásobná dědičnost.

  • Single dědičnost: V této jedné třídě je zděděno nebo rozšířeno pouze o jednu třídu.
  • Hybridní dědičnost: Hybridní dědičnost je kombinací jednotlivých, víceúrovňových a hierarchických dědičností.
  • Víceúrovňová dědičnost: Ve víceúrovňové dědičnosti je jedna třída rozšířena o jednu třídu a tato rozšířená třída nebo podtřída je rozšířena o další třídu a tvoří řetězec vztahů mezi třídami, který se nazývá víceúrovňové dědičnost.
  • Hierarchická dědičnost: V této dědičnosti se jedna třída rozšiřuje o více než jednu třídu.
  • Vícenásobná dědičnost: V této dědičnosti jedna třída rozšiřuje více než jednu třídu a Java ji nepodporuje.

Přejdeme k dalším otázkám Interview Java Inheritance Interview.

Q3. Co je super klíčové slovo v Javě?

Odpovědět:
Super klíčové slovo v Javě je referenční proměnnou k objektu okamžité nadřazené třídy, tj. Kdykoli je vytvořena instance podtřídy, je implicitně vytvořena instance nadřazené třídy, což znamená, že se odkazuje na nadřazené klíčové slovo nebo super referenční proměnnou. Super klíčové slovo má různé účely a použití jako super klíčové slovo lze použít k odkazu na proměnnou okamžité nadřazené třídy, super () se používá k odkazu na konstruktor okamžité nadřazené třídy a super se používá k vyvolání metody okamžité nadřazené třídy.

Q4. Jaký je rozdíl mezi dědičností a zapouzdřením?

Odpovědět:
Toto jsou běžné dotazy týkající se dědičnosti Java, které byly položeny v rozhovoru. Dědičnost je vztah mezi třídami a objektově orientovaným konceptem. Během programování je užitečné implementovat odpovědnost za kód. Vlastnosti základní třídy můžeme použít rozšířením na odvozenou třídu nebo podtřídu, které mají také základ polymorfismu. Zatímco zapouzdření je také objektově orientovaný koncept v Javě, který se používá ke skrytí interních detailů třídy, jako jsou metody, atributy. Má pouze deklaraci viditelnou, ale nikoli definici jako Hash-map, která zapisuje, jak ukládat a vypočítat hašovací hodnoty.

Q5. Co je to přetížení metody v Javě?

Odpovědět:
Přetížení metod v Javě je definováno jako dvě metody, které jsou deklarovány se stejným názvem, ale s různými podpisy, jako například jedna metoda může akceptovat dva parametry, zatímco jiná metoda může akceptovat pouze jeden parametr nebo tři parametry atd. Například System.out.println je přetížení metoda v jazyce Java, protože pomocí ní můžeme tisknout různé typy dat a přetížení metody bude vyřešeno během kompilace v jazyce Java.

Část 2 - Interview s otázkami dědičnosti javy (pokročilé)

Pojďme se nyní podívat na pokročilé dotazy a odpovědi Interview Java Inheritance Interview.

Q6. Co je metoda Overriding v Javě?

Odpovědět:
Přepisování metod v Javě je definováno, protože budou existovat dvě metody se stejným názvem a podpisem, ale kód nebo logika se liší a obě metody musí být ve stejné podtřídě. Je založen na polymorfismu za běhu, protože volání metod je řešeno během běhu v Javě na základě skutečného objektu.

Q7. Je možné v Javě přepsat soukromou metodu?

Odpovědět:
Ne, nemůžeme přepsat soukromou metodu v Javě, protože rozsah soukromých metod je omezen pouze na tuto konkrétní třídu a nejsou viditelné mimo tuto třídu, takže nemohou být viditelné ani v odvozené třídě ani podtřídě. Soukromé metody tedy nejsou potlačeny.

Přejdeme k dalším otázkám Interview Java Inheritance Interview.

Q8. Pravidla překonávání metod v Javě?

Odpovědět:
Pravidla přepisování metod v Javě je přepisovací metoda, která nemůže vyvolat vyšší výjimku než přepsaná metoda a je použitelná nebo pravdivá pro kontrolované výjimky a přepisovací metoda nemůže změnit rozsah přepsané metody, tj. Pokud je metoda veřejná v základní třídě mělo by být také veřejné v podtřídě.

Q9. V Javě je možné Constructor over-riding?

Odpovědět:
Toto jsou nejoblíbenější dotazy ohledně Java Inheritance Interview. V Javě není přepsání konstruktoru možné, protože konstruktéři nejsou zděděni, protože k přepisování vždy dochází u podřízené třídy nebo podtřídy, ale jméno konstruktoru je stejné jako jméno třídy, takže přepisování konstruktoru není možné, ale přetížení konstruktoru je možné.

Q10. Může třída implementovat do Java více než jedno rozhraní, je to možné?

Odpovědět:
V Javě může jedna třída implementovat více než jedno rozhraní. Třída může být sterilizovatelná a srovnatelná současně v Javě. To je jeden z důvodů, proč se rozhraní používá v programování k tomuto účelu nejčastěji a při programování můžeme třídu použít jako polymorfní roli.

Konečně, je to závěr otázek Java Inheritance interview. Doufám, že se na pohovor dobře připravujete a tento článek Otázky ohledně dědičnosti rozhovorů v jazyce Java vám pomůže při přípravě pohovoru. Chtěl bych, abyste byli všichni nejlepší pro vaši přípravu na pohovor a pohovor.

Doporučené články

Toto byl průvodce seznamem otázek Interview Java Inheritance Interview. Zde v tomto příspěvku jsme studovali hlavní otázky dotazování na dědičnost Java, které jsou často kladeny v rozhovorech. Další informace naleznete také v následujících článcích.

  1. Nejdůležitější otázky Java Interview pro Fresher
  2. Otázky dědického rozhovoru s odpověďmi
  3. Dotazy na rozhovor s Javascriptem
  4. Dotazy na testování Java testování
  5. Dědičnost v Javě
  6. Přetížení metody v C #
  7. Přetížení a přemostění v C #