Topp 100 Java-intervjufrågor och svar (Ladda ner PDF)

Innehållsförteckning:

Anonim

Ladda ner PDF

Vi har sammanställt de vanligaste Java-intervjufrågorna och -svaren som hjälper dig att förbereda dig för de grundläggande Java-intervjufrågorna som en intervjuare kan ställa dig under din intervju. I den här listan över grundläggande Java-intervjufrågor har vi täckt alla vanliga grundläggande och avancerade Core Java-intervjufrågor med detaljerade svar som hjälper dig att rensa anställningsintervjun.

Följande lista innehåller 100 viktiga Core Java-intervjufrågor för nybörjare samt Java-intervjufrågor och svar för erfarna programmerare som hjälper dem att förbereda sig för intervjun. Den här detaljerade guiden med intervjufrågor för Java-programmering hjälper dig att enkelt knäcka din jobbintervju.

Core Java-intervjufrågor och svar för nybörjare och erfarna

Q1. Vad är skillnaden mellan en inre klass och en underklass?

Svar: En inre klass är en klass som är kapslad i en annan klass. En inre klass har åtkomsträttigheter för klassen som häckar den och den kan komma åt alla variabler och metoder som definierats i den yttre klassen.

En underklass är en klass som ärver från en annan klass som kallas superklass. Underklassen kan komma åt alla offentliga och skyddade metoder och fält i sin superklass.

Q2. Vilka är de olika åtkomstspecifikationerna för Java-klasser?

Svar: I Java är åtkomstspecifikatorer de nyckelord som används före ett klassnamn som definierar åtkomstområdet. Typerna av åtkomstspecifikatorer för klasser är:

1. Allmänhet: Klass, metod, fält är tillgänglig var som helst.

2. Skyddad: Metod, fält kan nås från samma klass som de tillhör eller från underklasserna, och från klassen för samma paket, men inte från utsidan.

3. Standard: Metod, fält, klass kan endast nås från samma paket och inte utanför det ursprungliga paketet.

4. Privat: Metod, fält kan nås från samma klass som de tillhör.

Q3. Vad är syftet med statiska metoder och statiska variabler?

Svar: När det finns ett krav att dela en metod eller en variabel mellan flera objekt i en klass istället för att skapa separata kopior för varje objekt använder vi statiska nyckelord för att göra en metod eller variabel delad för alla objekt.

Q4. Vad är datakapsling och vilken betydelse har det?

Ans: Encapsulation är ett koncept i Object Oriented Programming för att kombinera egenskaper och metoder i en enda enhet.

Encapsulation hjälper programmerare att följa ett modulärt tillvägagångssätt för programvaruutveckling eftersom varje objekt har sin egen uppsättning metoder och variabler och tjänar sina funktioner oberoende av andra objekt. Inkapsling tjänar också syftet med att dölja data.

Q5. Vad är en singleton-klass? Ge ett praktiskt exempel på dess användning.

En singleton-klass i java kan bara ha en instans och alltså alla dess metoder och variabler tillhör bara en instans. Singleton klasskoncept är användbart för situationer där det finns ett behov av att begränsa antalet objekt för en klass.

Det bästa exemplet på användningsscenario för singleton är när det finns en gräns för att bara ha en anslutning till en databas på grund av vissa drivrutinsbegränsningar eller på grund av licensproblem.

F6. Vad är loopar i Java? Vad är tre typer av öglor?

Ans: Looping används vid programmering för att utföra ett uttalande eller ett block av uttalande upprepade gånger. Det finns tre typer av slingor i Java:

1) För öglor

För loopar används i java för att utföra uttalanden upprepade gånger under ett visst antal gånger. För loopar används när programmeraren känner till antalet gånger för att utföra uttalandena.

2) While Loops

While loop används när vissa uttalanden måste köras upprepade gånger tills ett villkor är uppfyllt. Under slingor kontrolleras tillstånd först innan utförande av uttalanden.

3) Gör medan öglor

Gör medan Loop är samma som While loop med enda skillnad kontrolleras det villkoret efter utförande av block av uttalanden. Följaktligen utförs uttalanden åtminstone en gång i händelse av göra under slinga.

F7: Vad är en oändlig slinga? Hur oändlig slinga förklaras?

Svar: En oändlig slinga går utan några villkor och går oändligt. En oändlig slinga kan brytas genom att definiera eventuell brytande logik i uttalandet block.

Oändlig slinga förklaras enligt följande:

for (;;){// Statements to execute// Add any loop breaking logic}

Q8. Vad är skillnaden mellan fortsätt och bryt uttalande?

Ans: bryta och fortsätt är två viktiga nyckelord som används i loopar. När ett pausnyckelord används i en slinga bryts slingan omedelbart medan när fortsätt nyckelord används, bryts aktuell iteration och slingan fortsätter med nästa iteration.

I exemplet nedan bryts slingan när räknaren når 4.

for (counter = 0; counter & lt; 10; counter++)system.out.println(counter);if (counter == 4) {break;}}

I exemplet nedan när räknaren når 4 hoppar loop till nästa iteration och alla uttalanden efter det fortsatta nyckelordet hoppas över för aktuell iteration.

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");}

F9. Vad är skillnaden mellan dubbla och flytande variabler i Java?

Svar: I java tar float 4 byte i minnet medan Double tar 8 byte i minnet. Float är decimaltal med en enda flytande punkt medan Double är dubbelt precisions decimaltal.

Q10. Vad är Final Keyword i Java? Ge ett exempel.

Svar: I Java deklareras en konstant med nyckelordet Final. Värde kan bara tilldelas en gång och efter tilldelning kan värdet på en konstant inte ändras.

I exemplet nedan deklareras en konstant med namnet const_val och tilldelas avalue:

Privat slutlig int const_val = 100

När en metod förklaras som slutlig kan den INTE åsidosättas av underklasserna. Den här metoden är snabbare än någon annan metod, eftersom de löses vid efterlevd tid.

När en klass förklaras som slutlig kan den inte delklassas. Exempel på sträng-, heltal- och andra omslagsklasser.

F11. Vad är ternär operatör? Ge ett exempel.

Svar: Ternär operatör, även kallad villkorlig operatör används för att bestämma vilket värde som ska tilldelas en variabel baserat på en boolesk värdering. Det betecknas som?

I exemplet nedan, om rankning är 1, tilldelas status värdet "Klar" annat "Väntande".

public class conditionTest {public static void main(String args[]) {String status;int rank = 3;status = (rank == 1) ? "Done" : "Pending";System.out.println(status);}}

F12: Hur kan du skapa slumptal i Java?

Svar:

  • Med Math.random () kan du generera slumpmässiga siffror i intervallet större än eller lika med 0,1 och mindre än 1,0
  • Använda slumpmässig klass i paketet java.util

F13. Vad är standardväxelväska? Ge exempel.

Svar: I ett switch-uttalande utförs standardfall när inget annat switch-tillstånd matchar. Standardfall är ett valfritt fall. Det kan endast deklareras när alla andra switchfall har kodats.

I exemplet nedan, när poäng inte är 1 eller 2, används standardfall.

public class switchExample {int score = 4;public static void main(String args[]) {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");}}}

F14. Vad är basklassen i Java som alla klasser härrör från?

Svar: java.lang.object

Q15. Kan main () -metoden i Java returnera data?

Svar: I java kan main () -metoden inte returnera några data, och deklareras därför alltid med en ogiltig returtyp.

F16. Vad är Java-paket? Vilken betydelse har paketen?

Svar: I Java är paketet en samling klasser och gränssnitt som buntas ihop eftersom de är relaterade till varandra. Användning av paket hjälper utvecklare att modulera koden och gruppera koden för korrekt återanvändning. När koden har förpackats i paket kan den importeras i andra klasser och användas.

F17. Kan vi förklara en klass som abstrakt utan att ha någon abstrakt metod?

Svar: Ja, vi kan skapa en abstrakt klass genom att använda abstrakt nyckelord före klassnamnet även om det inte har någon abstrakt metod. Men om en klass till och med har en abstrakt metod, måste den förklaras som abstrakt annars ger det ett fel.

F18. Vad är skillnaden mellan en abstrakt klass och gränssnitt i Java?

Svar: Den primära skillnaden mellan en abstrakt klass och gränssnitt är att ett gränssnitt endast kan ha deklaration av offentliga statiska metoder utan konkret implementering medan en abstrakt klass kan ha medlemmar med alla åtkomstspecifikationer (offentliga, privata etc) med eller utan konkret implementering.

En annan viktig skillnad i användningen av abstrakta klasser och gränssnitt är att en klass som implementerar ett gränssnitt måste implementera alla metoderna i gränssnittet medan en klass som ärver från en abstrakt klass inte kräver implementering av alla superklassens metoder.

En klass kan implementera flera gränssnitt men den kan bara utöka en abstrakt klass.

F19. Vilka är prestandakonsekvenserna av gränssnitt för abstrakta klasser?

Svar: Gränssnitt har långsammare prestanda jämfört med abstrakta klasser, eftersom extra indirektioner krävs för gränssnitt. En annan nyckelfaktor för utvecklare att ta hänsyn till är att vilken klass som helst kan förlänga endast en abstrakt klass medan en klass kan implementera många gränssnitt.

Användning av gränssnitt medför också en extra börda för utvecklarna eftersom varje gång ett gränssnitt implementeras i en klass; utvecklaren tvingas implementera varje metod för gränssnitt.

F20. Importerar Importera ett paket dess delpaket också i Java?

Svar: I java, när ett paket importeras importeras dess underpaket inte och utvecklaren måste importera dem separat om det behövs.

Till exempel, om en utvecklare importerar ett paketuniversitet. * Laddas alla klasser i paketet med namnet universitet men inga klasser från underpaketet laddas. För att ladda klasserna från dess underpaket (säg avdelningen) måste utvecklaren importera det uttryckligen enligt följande:

Importera universitet. Avdelning. *

F21. Kan vi förklara den viktigaste metoden i vår klass som privat?

Svar: I java måste huvudmetoden vara offentlig statisk för att kunna köra alla applikationer korrekt. Om huvudmetoden deklareras som privat, kommer utvecklaren inte att få något kompileringsfel, men det kommer inte att köras och ger ett körtidsfel.

F22. Hur kan vi skicka argument till en funktion genom referens istället för passera värde?

Svar: I java kan vi skicka argument till en funktion endast efter värde och inte genom referens.

F23. Hur serieras ett objekt i java?

Svar: I java, för att konvertera ett objekt till byteflöde genom serialisering, implementeras ett gränssnitt med namnet Serializable av klassen. Alla objekt i en klass som implementerar serieiserbart gränssnitt serialiseras och deras tillstånd sparas i byte-ström.

F24. När ska vi använda serialisering?

Svar: Serialisering används när data behöver överföras över nätverket. Med hjälp av serialisering sparas objektets tillstånd och konverteras till byte-ström. Byte-strömmen överförs över nätverket och objektet återskapas vid destinationen.

F25. Är det obligatoriskt att ett försöksblock följs av ett fångstblock i Java för undantagshantering?

Svar: Försök att blockera måste följas av antingen fångstblock eller slutligen blockera eller båda. Varje undantag som kastas från försöksblocket måste antingen fångas i fångstblocket eller i synnerhet några specifika uppgifter som ska utföras innan kodabort placeras i slutblocket.

F26. Finns det något sätt att hoppa över Slutligen undantagsblock även om något undantag förekommer i undantagsblocket?

Svar: Om ett undantag tas upp i Försök-blocket passerar kontrollen till fångst-blocket om det annars finns för att slutligen blockera. Slutligen utförs block alltid när ett undantag inträffar och det enda sättet att undvika exekvering av uttalanden i Slutligen block är genom att avbryta koden med våld genom att skriva följande rad kod i slutet av försöksblocket:

System.exit(0);

F27. När en konstruktör för en klass åberopas?

Svar: Konstruktören för en klass anropas varje gång ett objekt skapas med ett nytt nyckelord.

Till exempel, i följande klass skapas två objekt med nytt nyckelord och därför anropas konstruktören två gånger.

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();}}

Q28. Kan en klass ha flera konstruktörer?

Svar: Ja, en klass kan ha flera konstruktörer med olika parametrar. Vilken konstruktör som används för att skapa objekt beror på argumenten som skickas när objekten skapas.

F29. Kan vi åsidosätta statiska metoder för en klass?

Svar: Vi kan inte åsidosätta statiska metoder. Statiska metoder tillhör en klass och inte enskilda objekt och löses vid tidpunkten för sammanställningen (inte vid körning). Även om vi försöker åsidosätta den statiska metoden får vi inte ett kompletteringsfel eller effekten av åsidosättande när du kör koda.

Q30. I exemplet nedan, vad blir resultatet?

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();}}

Svar : Produktionen kommer att vara:

Visas från underklass

Visas från superklass

F31. Är sträng en datatyp i java?

Svar: Sträng är inte en primitiv datatyp i java. När en sträng skapas i java är det faktiskt ett objekt av Java.Lang.String-klassen som skapas. Efter skapandet av detta strängobjekt kan alla inbyggda metoder i strängklassen användas på strängobjektet.

Q32. I exemplet nedan, hur många strängobjekt skapas?

String s1="I am Java Expert";String s2="I am C Expert";String s3="I am Java Expert";

Svar: I exemplet ovan skapas två objekt av Java.Lang.String-klassen. s1 och s3 är referenser till samma objekt.

Q33. Varför kallas strängar i Java som immutable?

Svar: I java kallas strängobjekt oföränderliga eftersom en gång ett värde har tilldelats en sträng, det kan inte ändras och om det ändras skapas ett nytt objekt.

I nedanstående exempel hänvisar referensstr till ett strängobjekt med värdet "Värde ett".

String str="Value One";

När ett nytt värde tilldelas det skapas ett nytt strängobjekt och referensen flyttas till det nya objektet.

str="New Value";

Q34. Vad är skillnaden mellan en matris och Vector?

Svar: En grupp grupperar data av samma primitiva typ och är statisk till sin natur medan vektorer är dynamiska till sin natur och kan innehålla data av olika datatyper.

Q35. Vad är multi-threading?

Ans: Multi threading är ett programmeringskoncept för att köra flera uppgifter samtidigt samtidigt i ett enda program. Trådar delar samma processstack och körs parallellt. Det hjälper till att förbättra prestanda för alla program.

Q36. Varför Runnable Interface används i Java?

Svar: Runnable interface används i java för att implementera applikationer med flera trådar. Java.Lang.Runnable-gränssnittet implementeras av en klass för att stödja multitrådning.

Q37. Vilka är de två sätten att implementera multi-threading i Java?

Ans: Multitrådade applikationer kan utvecklas i Java med hjälp av någon av följande två metoder:

1. Genom att använda Java.Lang.Runnable Interface. Klasser implementerar detta gränssnitt för att möjliggöra multitrådning. Det finns en Run () -metod i detta gränssnitt som implementeras.

2. Genom att skriva en klass som förlänger Java.Lang.Thread-klassen.

Q38. När en hel del ändringar krävs i data, vilken bör då vara en preferens? String eller StringBuffer?

Svar: Eftersom StringBuffers är dynamiska till sin natur och vi kan ändra värdena på StringBuffer-objekt till skillnad från String som är oföränderlig, är det alltid ett bra val att använda StringBuffer när data ändras för mycket. Om vi ​​använder String i ett sådant fall skapas ett nytt String-objekt för varje dataändring som blir en extra overhead.

Q39. Vad är syftet med att använda Break i varje fall av Switch Statement?

Ans: Break används efter varje fall (förutom det sista) i en switch så att koden bryts efter det giltiga fallet och inte flödar också i de fortsatta fallen.

Om paus inte används efter varje fall utförs alla ärenden efter det giltiga fallet, vilket resulterar i fel resultat.

Q40. Hur görs skräpsamling i Java?

Svar: I java, när ett objekt inte refereras längre, sker skräpsamling och objektet förstörs automatiskt. För automatisk skräpsamling ringer Java antingen System.gc () -metoden eller Runtime.gc () -metoden.

Q41. Hur kan vi köra valfri kod redan före huvudmetoden?

Svar: Om vi ​​vill utföra några uttalanden innan vi ens skapar objekt vid klassens laddningstid kan vi använda ett statiskt kodblock i klassen. Alla uttalanden i detta statiska kodblock kommer att köras en gång vid laddning av klassen redan innan skapande av objekt i huvudmetoden.

F42. Kan en klass vara en superklass och en underklass samtidigt? Ge exempel.

Svar: Om det används en arvshierarki kan en klass vara en superklass för en annan klass och en underklass för en annan samtidigt.

I exemplet nedan är kontinentklass underklass av världsklass och det är superklass av landsklass.

public class world {… .}public class continenet extends world {… }public class country extends continent {… .}

F43. Hur skapas objekt i en klass om ingen konstruktör definieras i klassen?

Svar: Även om ingen uttrycklig konstruktör definieras i en java-klass, skapas objekt framgångsrikt eftersom en standardkonstruktör implicit används för att skapa objekt. Denna konstruktör har inga parametrar.

Q44. Hur kan vi se till att en resurs inte används av flera trådar samtidigt i flera trådar?

Svar: Vid multitrådning kan åtkomst till de resurser som delas mellan flera trådar styras med hjälp av begreppet synkronisering. Med hjälp av synkroniserat nyckelord kan vi se till att endast en tråd kan använda delad resurs åt gången och andra kan bara få kontroll över resursen när den har blivit fri från den andra som använder den.

Q45. Kan vi ringa konstruktören för en klass mer än en gång för ett objekt?

Svar: Constructor anropas automatiskt när vi skapar ett objekt med nytt nyckelord. Det kallas bara en gång för ett objekt vid tidpunkten för objektskapandet och därför kan vi inte åberopa konstruktören igen för ett objekt efter dess skapande.

Q46. Det finns två klasser som heter classA och classB. Båda klasserna är i samma paket. Kan en privat medlem av klass A nås av ett objekt av klass B?

Svar: Privata medlemmar i en klass är inte tillgängliga utanför klassens räckvidd och någon annan klass, även i samma paket, kan inte komma åt dem.

Q47. Kan vi ha två metoder i en klass med samma namn?

Svar: Vi kan definiera två metoder i en klass med samma namn men med olika antal / typ av parametrar. Vilken metod som ska åberopas beror på parametrarna som skickats.

Till exempel i klassen nedan har vi två utskriftsmetoder med samma namn men olika parametrar. Beroende på parametrar kommer lämplig att kallas:

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");}}

F48. Hur kan vi göra en kopia av ett java-objekt?

Ans: Vi kan använda begreppet kloning för att skapa en kopia av ett objekt. Med hjälp av klon skapar vi kopior med ett objekts faktiska tillstånd.

Clone () är en metod för Cloneable interface och därför måste Cloneable interface implementeras för att göra objektkopior.

F49. Vad är fördelen med att använda arv?

Svar: Den viktigaste fördelen med att använda arv är återanvändbarhet av kod eftersom arv gör det möjligt för underklasser att återanvända koden för sin superklass. Polymorfism (Extensibility) är en annan stor fördel som gör det möjligt att introducera ny funktionalitet utan att påverka befintliga härledda klasser.

Q50. Vad är standardåtkomstspecifikatorn för variabler och metoder för en klass?

Svar: Standardåtkomstspecifikator för variabler och metod är paketskyddad, dvs. variabler och klass är tillgängliga för alla andra klasser men i samma paket, inte utanför paketet.

F51. Ge ett exempel på användning av pekare i Java-klass.

Svar: Det finns inga pekare i Java. Så vi kan inte använda begreppet pekare i Java.

Q52. Hur kan vi begränsa arv för en klass så att ingen klass kan ärvas från den?

Svar: Om vi ​​vill att en klass inte ska förlängas ytterligare med någon klass kan vi använda nyckelordet Final med klassnamnet.

I följande exempel är Stone-klassen Final och kan inte förlängas

public Final Class Stone {// Class methods and Variables}

Q53. Vad är åtkomstområdet för Protected Access specifier?

Svar: När en metod eller en variabel deklareras med Protected access specifier, blir den tillgänglig i samma klass, alla andra klasser i samma paket samt en underklass.

Modifierare

Klass

Paket

Underklass

Värld

offentlig

Y

Y

Y

Y

skyddade

Y

Y

Y

N

ingen modifierare

Y

Y

N

N

privat

Y

N

N

N

Q54. Vad är skillnaden mellan Stack och Queue?

Svar: Stack och Queue används båda som platshållare för insamling av data. Den primära skillnaden mellan en stack och en kö är att stacken baseras på LIFO-principen Last in First out medan en kö baseras på FIFO-principen (First In First Out).

Q55. I java, hur kan vi inte tillåta serialisering av variabler?

Svar: Om vi ​​vill att vissa variabler i en klass inte ska serienummeras, kan vi använda nyckelordet övergående medan vi deklarerar dem. Till exempel är variabeln trans_var nedan en övergående variabel och kan inte serieseras:

public class transientExample {private transient trans_var;// rest of the code}

F56. Hur kan vi använda primitiva datatyper som objekt?

Svar: Primitiva datatyper som int kan hanteras som objekt med hjälp av deras respektive omslagsklasser. Integer är till exempel en omslagsklass för primitiv datatyp int. Vi kan tillämpa olika metoder på en omslagsklass, precis som alla andra objekt.

Q57. Vilka typer av undantag fångas vid tidpunkten för sammanställningen?

Svar: Kontrollerade undantag kan fångas vid tidpunkten för sammanställningen av programmet. Kontrollerade undantag måste hanteras med hjälp av försök fångstblock i koden för att lyckas kompilera koden.

F58. Beskriv olika tillstånd för en tråd.

Svar: En tråd i Java kan vara i något av följande tillstånd:

  • Klar: När en tråd skapas är den i Klar-tillstånd.
  • Running: En tråd som för närvarande körs är i körningstillstånd.
  • Väntar: En tråd som väntar på en annan tråd för att frigöra vissa resurser är i vänteläge.
  • Död: En tråd som har gått död efter avrättningen är i död skick.

F59. Kan vi använda en standardkonstruktör för en klass även om en uttrycklig konstruktör definieras?

Svar: Java tillhandahåller en standardkonstruktör för inga argument om ingen uttrycklig konstruktör är definierad i en Java-klass. Men om en uttrycklig konstruktör har definierats kan standardkonstruktören inte åberopas och utvecklare kan endast använda de konstruktörer som definieras i klassen.

Q60. Kan vi åsidosätta en metod med samma metodnamn och argument men olika returtyper?

Svar: Det grundläggande villkoret för metodöverstyrning är att metodnamn, argument såväl som returtyp måste vara exakt samma som för metoden som åsidosätts. Användning av en annan returtyp åsidosätter därför inte en metod.

F61.Vad blir resultatet av följande kod?

public class operatorExample {public static void main(String args[]) {int x = 4;system.out.println(x++);}}

Svar: I det här fallet används postfix ++ operatör som först returnerar värdet och sedan steg. Därför kommer dess produktion att vara 4.

Q61. En person säger att han sammanställt en java-klass framgångsrikt utan att ens ha en huvudmetod i den? Är det möjligt?

Ans: huvudmetoden är en ingångspunkt för Java-klassen och krävs dock för att programmet ska köras; en klass sammanställs framgångsrikt även om den inte har en huvudmetod. Det kan dock inte köras.

Q62. Kan vi kalla en icke-statisk metod inifrån en statisk metod?

Ans: Icke-statiska metoder ägs av objekt i en klass och har objektnivåomfång och för att anropa icke-statiska metoder från ett statiskt block (som från en statisk huvudmetod) måste ett objekt av klassen skapas först. Använd sedan objektreferens, dessa metoder kan åberopas.

Q63. Vilka är de två miljövariablerna som måste ställas in för att kunna köra Java-program?

Svar: Java-program kan bara köras i en maskin när två miljövariabler har ställts in korrekt:

  1. PATH-variabel
  2. CLASSPATH-variabel

Q64. Kan variabler användas i Java utan initialisering?

Svar: I Java, om en variabel används i en kod utan föregående initialisering av ett giltigt värde, kompilerar inte programmet och ger ett fel eftersom inget standardvärde tilldelas variabler i Java.

Q65. Kan en klass i Java ärvas från mer än en klass?

Svar: I Java kan en klass härledas från endast en klass och inte från flera klasser. Flera arv stöds inte av Java.

F66. Kan en konstruktör ha ett annat namn än ett klassnamn i Java?

Svar: Konstruktör i Java måste ha samma namn som klassnamnet och om namnet är annorlunda fungerar det inte som en konstruktör och kompilatören tänker på det som en normal metod.

Q67. Vad blir resultatet av Round (3.7) och Ceil (3.7)?

Ans: Omgång (3.7) returnerar 4 och Ceil (3.7) returnerar 4.

F68: Kan vi använda goto i Java för att gå till en viss rad?

Svar: I Java finns det inget goto-nyckelord och Java stöder inte den här funktionen att gå till en viss märkt linje.

F69. Kan en död tråd startas igen?

Svar: I java kan en tråd som är i död tillstånd inte startas igen. Det finns inget sätt att starta om en död tråd.

Q70. Är följande klassdeklaration korrekt?

Svar:

public abstract final class testClass {// Class methods and variables}

Svar: Ovanstående klassdeklaration är felaktig eftersom en abstrakt klass inte kan förklaras som slutgiltig.

Q71. Krävs JDK på varje maskin för att köra ett Java-program?

Svar: JDK är utvecklingssats av Java och krävs endast för utveckling och för att köra ett Java-program på en maskin krävs JDK inte. Endast JRE krävs.

Q72. Vad är skillnaden mellan jämförelse gjord med lika metod och == operatör?

Svar: I Java används metoden equals () för att jämföra innehållet i två strängobjekt och returnerar true om de två har samma värde medan == operatören jämför referenser för två strängobjekt.

I följande exempel returnerar lika () sant eftersom de två strängobjekten har samma värden. Men == operatören returnerar falskt eftersom båda strängobjekten hänvisar till olika objekt:

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 trueSystem.out.println("str1 and str2 are equal in terms of values");}if (str1 == str2) {//This condition is trueSystem.out.println("Both strings are referencing same object");} else{// This condition is NOT trueSystem.out.println("Both strings are referencing different objects");}}}

Q73. Är det möjligt att definiera en metod i Java-klass men tillhandahålla dess implementering i koden för ett annat språk som C?

Svar: Ja, vi kan göra detta med hjälp av inhemska metoder. Vid utvecklad metodbaserad utveckling definierar vi offentliga statiska metoder i vår Java-klass utan dess implementering och sedan genomförs implementeringen på ett annat språk som C separat.

F74. Hur definieras destruktörer i Java?

Svar: I Java finns inga destruktörer definierade i klassen eftersom det inte finns något behov av att göra det. Java har sin egen sopmekanism som gör jobbet automatiskt genom att förstöra objekten när de inte längre refereras.

Q75. Kan en variabel vara lokal och statisk samtidigt?

Svar: Nej, en variabel kan inte vara statisk och lokal samtidigt. Att definiera en lokal variabel som statisk ger kompileringsfel.

Q76. Kan vi ha statiska metoder i ett gränssnitt?

Svar: Statiska metoder kan inte åsidosättas i någon klass medan alla metoder i ett gränssnitt som standard är abstrakta och ska implementeras i de klasser som implementerar gränssnittet. Så det är ingen mening att ha statiska metoder i ett gränssnitt i Java.

Q77. I en klass som implementerar ett gränssnitt, kan vi ändra värdet på någon variabel som definieras i gränssnittet?

Svar: Nej, vi kan inte ändra värdet på någon variabel i ett gränssnitt i implementeringsklassen, eftersom alla variabler som definierats i gränssnittet som standard är offentliga, statiska och slutliga och slutliga variabler är som konstanter som inte kan ändras senare.

F78. Är det korrekt att säga att på grund av skräpsamlingsfunktionen i Java går ett Java-program aldrig ur minne?

Svar: Även om automatisk skräpsamling tillhandahålls av Java, säkerställer det inte att ett Java-program inte kommer att gå ur minnet eftersom det finns en möjlighet att skapa Java-objekt görs i en snabbare takt jämfört med skräpsamling vilket resulterar i fyllning av alla tillgängliga minnesresurser.

Så, skräpsamling hjälper till att minska risken för att ett program går ur minne men det säkerställer inte det.

F79. Kan vi ha någon annan returtyp än ogiltig för huvudmetoden?

Svar: Nej, huvudklassmetoden i Java-klassen kan bara ha ogiltig returtyp för att programmet ska kunna köras framgångsrikt.

Ändå, om du absolut måste returnera ett värde till vid slutförandet av huvudmetoden, kan du använda System.exit (int-status)

Q80. Jag vill åter nå och använda ett föremål när det har samlats in. Hur är det möjligt?

Svar: När ett objekt förstörs av skräpsamlare finns det inte längre på högen och det går inte att komma åt det igen. Det finns inget sätt att referera till det igen.

Q81. Vilken metod är en måsteimplementering för alla trådar i Java-trådprogrammering?

Ans: Run () är en metod för körbart gränssnitt som måste implementeras av alla trådar.

Q82. Jag vill kontrollera databasanslutningar i mitt program och vill att bara en tråd ska kunna skapa databasanslutning åt gången. Hur kan jag implementera den här logiken?

Svar: Detta kan implementeras med hjälp av begreppet synkronisering. Databasrelaterad kod kan placeras i en metod som har sitt synkroniserade nyckelord så att endast en tråd kan komma åt den åt gången.

Q83. Hur kan ett undantag kastas manuellt av en programmerare?

Ans: För att kasta ett undantag i ett block av kod manuellt, kasta är nyckelord som används. Sedan fångas detta undantag och hanteras i fångsten.

public void topMethod() {try {excMethod();} catch (ManualException e) {}}public void excMethod {String name = null;if (name == null) {throw (new ManualException("Exception thrown manually ");}}

Q84. Jag vill att min klass ska utvecklas på ett sådant sätt att ingen annan klass (även härledd klass) kan skapa sina objekt. Hur kan jag göra det?

Svar: Om vi ​​förklarar konstruktören för en klass som privat, kommer den inte att vara tillgänglig för någon annan klass och därför kommer ingen annan klass att kunna initiera den och bildandet av dess objekt kommer endast att begränsas till sig själv.

Q85. Hur lagras objekt i Java?

Svar: I java får varje objekt när det skapas ett minnesutrymme från en hög. När ett objekt förstörs av en sopuppsamlare allokeras utrymmet som tilldelas det från högen till högen och blir tillgängligt för alla nya objekt.

Q86. Hur kan vi hitta den faktiska storleken på ett objekt på högen?

Svar: I java finns det inget sätt att ta reda på den exakta storleken på ett objekt på högen.

Q87. Vilka av följande klasser tilldelas mer minne?

Klass A: Tre metoder, fyra variabler, inget objekt

Klass B: Fem metoder, tre variabler, inget objekt

Svar: Minne tilldelas inte innan objekt skapas. Eftersom för båda klasserna finns inga objekt skapade så inget minne tilldelas på hög för någon klass.

Q88. Vad händer om ett undantag inte hanteras i ett program?

Svar: Om ett undantag inte hanteras i ett program med tryckknappsblock avbryts programmet och inget uttalande utförs efter uttalandet som orsakade undantagskastning.

Q89. Jag har flera konstruktörer definierade i en klass. Är det möjligt att ringa en konstruktör från en annan konstruktörs kropp?

Svar: Om en klass har flera konstruktörer är det möjligt att ringa en konstruktör från en annans kropp med detta () .

Q90. Vad menas med anonym klass?

Svar: En anonym klass är en klass definierad utan namn i en enda kodrad med nytt nyckelord.

I nedanstående kod har vi till exempel definierat en anonym klass i en kodrad:

public java.util.Enumeration testMethod(){return new java.util.Enumeration(){@Overridepublic boolean hasMoreElements(){// TODO Auto-generated method stubreturn false;}@Overridepublic Object nextElement(){// TODO Auto-generated method stubreturn null;}}

Q91. Finns det ett sätt att öka storleken på en matris efter deklarationen?

Svar: Arrayer är statiska och när vi har angett storleken kan vi inte ändra den. Om vi ​​vill använda sådana samlingar där vi kan behöva ändra storlek (antal artiklar), bör vi föredra vektor framför array.

Q92. Om ett program har flera klasser i sig, är det okej att ha en huvudmetod i mer än en klass?

Svar: Om det finns huvudmetod i mer än en klass i en Java-applikation, kommer det inte att orsaka något problem eftersom ingångspunkten för någon applikation är en specifik klass och koden börjar bara från huvudmetoden för den specifika klassen.

Q93. Jag vill bestå data för objekt för senare användning. Vad är det bästa sättet att göra det?

Svar: Det bästa sättet att bestå data för framtida användning är att använda begreppet serialisering.

Q94. Vad är en lokal klass i Java?

Svar: I Java, om vi definierar en ny klass inuti ett visst block, kallas det en lokal klass. En sådan klass har lokal räckvidd och kan inte användas utanför blocket där den definieras.

Q95. String och StringBuffer representerar båda String-objekt. Kan vi jämföra String och StringBuffer i Java?

Svar: Även om String och StringBuffer båda representerar String-objekt kan vi inte jämföra dem med varandra och om vi försöker jämföra dem får vi ett fel.

Q96. Vilket API tillhandahålls av Java för operationer på uppsättning objekt?

Ans: Java tillhandahåller ett samlings-API som ger många användbara metoder som kan användas på en uppsättning objekt. Några av de viktiga klasserna som tillhandahålls av Collection API inkluderar ArrayList, HashMap, TreeSet och TreeMap.

Q97. Kan vi kasta någon annan typ till boolesk typ med typgjutning?

Svar: Nej, vi kan varken kasta någon annan primitiv typ till boolesk datatyp eller casta boolesk datatyp till någon annan primitiv datatyp.

Q98. Kan vi använda olika returtyper för metoder när de åsidosätts?

Svar: Grundkravet för metodöverstyrning i Java är att den åsidosatta metoden ska ha samma namn och parametrar, men en metod kan åsidosättas med en annan returtyp så länge den nya returtypen utökar originalet.

Till exempel returnerar metoden en referens typ.

Class B extends A {A method(int x) {//original method}B method(int x) {//overridden method}}

Q99. Vad är basklassen för alla undantagsklasser?

Svar: I Java är Java.lang.Throwable superklassen för alla undantagsklasser och alla undantagsklasser härrör från denna basklass.

Q100. Hur är ordningen för konstruktörer i arv?

Svar: Vid arv, när ett nytt objekt från en härledd klass skapas, åberopas först superklassens konstruktör och sedan åberopas konstruktorn för den härledda klassen.

Förbered dig på din jobbintervju !!! Gå igenom Java Tutorial för att vara bättre förberedd.

Den här detaljerade Java-intervjufrågorna pdf hjälper dig att rensa tvivlen om Java-intervjufrågor och hjälper dig också att knäcka intervjun.