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

Ladda ner PDF

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

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 för att hjälpa dem att förbereda sig för intervjun. Denna detaljerade guide för 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 inom 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 definieras 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 åtkomstspecifikatörerna för Java -klasser?

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

1. Allmänhet: Klass, metod, fält är tillgängligt 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 i samma paket, men inte utifrån.

3. Standard: Metod, fält, klass kan endast nås från samma paket och inte från 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 statiskt nyckelord för att göra en metod eller variabel delad för alla objekt.

Q4. Vad är datakapsling och vad är dess betydelse?

Ans: Encapsulation är ett koncept inom objektorienterad programmering för att kombinera egenskaper och metoder i en enda enhet.

Inkapsling hjälper programmerare att följa ett modulärt tillvägagångssätt för mjukvaruutveckling eftersom varje objekt har sin egen uppsättning metoder och variabler och tjänar sina funktioner oberoende av andra objekt. Inkapsling tjänar också till 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 därför tillhör alla dess metoder och variabler bara en instans. Singleton -klassbegrepp är användbart för situationer när det finns ett behov av att begränsa antalet objekt för en klass.

Det bästa exemplet på singleton -användningsscenario ä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.

Q6. Vad är loopar i Java? Vad är tre typer av slingor?

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

1) För slingor

För slingor används i java för att utföra uttalanden upprepade gånger för ett visst antal gånger. För slingor används när antalet gånger för att utföra uttalanden är kända för programmeraren.

2) While Loops

Medan loop används när vissa uttalanden måste köras upprepade gånger tills ett villkor är uppfyllt. I medan loopar kontrolleras tillståndet först innan körning av uttalanden.

3) Gör medan slingor

Do While Loop är samma som While loop med bara skillnaden att villkoret kontrolleras efter att block av satser har körts. Därför körs uttalanden minst en gång om du gör do while loop.

F7: Vad är en oändlig loop? Hur deklareras oändlig loop?

Svar: En oändlig loop går utan några villkor och går oändligt. En oändlig slinga kan brytas genom att definiera någon brytande logik i satsblockens kropp.

Oändlig slinga deklareras enligt följande: | _+_ |

Q8. Vad är skillnaden mellan fortsätta och bryta uttalande?

Ans: break and continue är två viktiga nyckelord som används i Loops. När ett pausord används i en loop, bryts slingan omedelbart, medan när fortsättningsord används används aktuell iteration och loop fortsätter med nästa iteration.

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

I exemplet nedan när räknaren når 4 hoppar loop till nästa iteration och alla uttalanden efter fortsättningsordet hoppas över för aktuell iteration. | _+_ |

Q9. Vad är skillnaden mellan dubbla och floatvariabler i Java?

Svar: I java tar float 4 byte i minnet medan Double tar 8 byte i minnet. Float är ett decimaltal med en enkel precision, flytande punkt medan Double är ett decimaltal med dubbel precision.

Q10. Vad är det slutliga sökordet i Java? Ge ett exempel.

Svar: I java deklareras en konstant med sökordet Final. Värdet kan bara tilldelas en gång och efter tilldelning kan värdet för en konstant inte ändras.

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

Privat Final int const_val = 100

När en metod förklaras som slutlig kan den INTE åsidosättas av underklasserna. Denna metod ä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 underklassas. Exempel på sträng, heltal och andra omslagsklasser.

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

Ans: 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 booleskt värdevärdering. Det betecknas som?

I exemplet nedan, om rang är 1, tilldelas status värdet 'Klar' annars 'Väntar'. | _+_ |

F12: Hur kan du generera slumptal i Java?

År:

  • Med Math.random () kan du generera slumpmässiga tal 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 standard switch case? Ge exempel.

Svar: I en byta uttalande , standardfall utförs när inget annat switchvillkor matchar. Standardfall är ett valfritt fall. Det kan deklareras först när alla andra switchfall har kodats.

I exemplet nedan, när poängen inte är 1 eller 2, används standardfall. | _+_ |

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

Ans: java.lang.object

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

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

F16. Vad är Java -paket? Vad är pakets betydelse?

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 till 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 sökord före klassnamnet även om det inte har någon abstrakt metod. Men om en klass har en enda abstrakt metod måste den deklareras som abstrakt annars ger den ett fel.

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

Ans: Den primära skillnaden mellan en abstrakt klass och gränssnitt är att ett gränssnitt bara kan inneha deklaration av offentliga statiska metoder utan konkret implementering medan en abstrakt klass kan ha medlemmar med alla åtkomstspecificerare (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 gränssnittsmetoder medan en klass som ärver från en abstrakt klass inte kräver implementering av alla metoder i sin superklass.

En klass kan implementera flera gränssnitt men den kan bara förlänga en abstrakt klass.

F19. Vad är prestandakonsekvenserna av gränssnitt över abstrakta klasser?

Svar: Gränssnitt är långsammare i prestanda jämfört med abstrakta klasser eftersom extra indirektningar krävs för gränssnitt. En annan nyckelfaktor för utvecklare att ta hänsyn till är att varje klass bara kan förlänga en abstrakt klass medan en klass kan implementera många gränssnitt.

Användning av gränssnitt lägger också en extra börda på utvecklarna eftersom varje gång ett gränssnitt implementeras i en klass; utvecklare tvingas implementera varje gränssnittsmetod.

Q20. Importerar ett paket också dess underpaket i Java?

Svar: I Java, när ett paket importeras, importeras inte dess delpaket 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 delpaketet laddas. För att ladda klasserna från sitt delpaket (säg avdelning) måste utvecklaren importera det uttryckligen enligt följande:

Importera universitet. Avdelning.*

Q21. Kan vi förklara huvudmetoden för vår klass som privat?

Svar: I java måste huvudmetoden vara offentlig statisk för att alla program ska kunna köras korrekt. Om huvudmetoden deklareras som privat får inte utvecklaren något kompileringsfel, den körs dock inte och ger ett körningsfel.

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

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

F23. Hur serieras ett objekt i java?

Svar: I java, för att konvertera ett objekt till byte -ström genom serialisering, implementeras ett gränssnitt med namnet Serializable av klassen. Alla objekt i en klass som implementerar serialiserbart gränssnitt blir serialiserade 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.

Q25. Är det obligatoriskt för ett Try Block att följas av ett Catch Block i Java för undantagshantering?

Svar: Försök blockera måste följas av antingen fångstblock eller slutligen blockera eller båda. Alla undantag som kastas från try -blocket måste antingen fångas i fångstblocket eller också måste några specifika uppgifter utföras innan kodabort läggs i blocket slutligen.

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

Svar: Om ett undantag tas upp i blocket Try, går kontrollen över till fångstblocket om det annars finns att slutligen blockera. Slutligen utförs blocket alltid när ett undantag inträffar och det enda sättet att undvika att några påståenden körs i blocket Slutligen är att avbryta koden med våld genom att skriva följande kodrad i slutet av provblocket: | _+_ |

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

Svar: Konstruktorn för en klass åberopas varje gång ett objekt skapas med nytt nyckelord.

Till exempel skapas två objekt med följande nyckelord i den följande klassen och därför anropas konstruktorn två gånger. | _+_ |

F28. 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å de argument 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 till enskilda objekt och löses vid kompileringstillfället (inte vid körning). Även om vi försöker åsidosätta statisk metod får vi inte ett komplikationsfel eller påverkan av åsidosättande när du kör koda.

Q30. I exemplet nedan, vad blir utmatningen?

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

År : Utdata blir:

Visas från underklass

Visas från superklass

F31. Är String 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 i klassen Java.Lang.String som skapas. Efter skapandet av detta strängobjekt kan alla inbyggda metoder i strängklassen användas på strängobjektet.

Q32. Hur många strängobjekt skapas i exemplet nedan?

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

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

F33. Varför kallas strängar i Java som oföränderliga?

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

I exemplet nedan hänvisar referensstr till ett strängobjekt med värdet 'Värde ett'. | _+_ |

När ett nytt värde tilldelas det skapas ett nytt String -objekt och referensen flyttas till det nya objektet. | _+_ |

F34. Vad är skillnaden mellan en array och Vector?

Ans: En matris grupperar data av samma primitiva typ och har statisk karaktär medan vektorer är dynamiska till sin natur och kan hålla data av olika datatyper.

F35. Vad är multi-threading?

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

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

Ans: Körbart gränssnitt 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 multi -threading.

F37. Vilka två sätt är att implementera multi-threading i Java?

Ans: Flertrå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 multi -threading. 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.

F38. När det krävs många ändringar i data, vilken bör man helst använda? String eller StringBuffer?

Svar: Eftersom StringBuffers är dynamiska 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.

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

Ans: Paus används efter varje fall (utom det sista) i en switch så att koden bryts efter det giltiga fallet och inte flödar i de pågående fallen.

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

Q40. Hur görs sophämtning 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 sophämtning ringer java antingen System.gc () -metoden eller Runtime.gc () -metoden.

F41. Hur kan vi köra någon kod redan före huvudmetoden?

Svar: Om vi ​​vill utföra några uttalanden innan vi till och med skapar objekt vid belastningstid i klassen kan vi använda ett statiskt kodblock i klassen. Alla uttalanden inuti detta statiska kodblock kommer att köras en gång vid tidpunkten för laddning av klassen redan innan objekt skapas i huvudmetoden.

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

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

I exemplet nedan är kontinentklassen en underklass i världsklass och en superklass av landsklass. | _+_ |

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

Svar: Även om ingen explicit konstruktör definieras i en java -klass skapas objekt framgångsrikt eftersom en standardkonstruktor implicit används för objektskapande. Denna konstruktör har inga parametrar.

F44. I multi-threading hur kan vi se till att en resurs inte används av flera trådar samtidigt?

Svar: I multi-threading kan åtkomst till resurser som delas mellan flera trådar styras med hjälp av synkroniseringsbegreppet. Med hjälp av synkroniserade sökord kan vi se till att endast en tråd kan använda delad resurs åt gången och andra kan få kontroll över resursen först när den har blivit fri från den andra som använder den.

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

Svar: Konstruktören 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 objektskapande och därför kan vi inte åberopa konstruktören igen för ett objekt efter dess skapande.

F46. 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 omfattning och någon annan klass även i samma paket kan inte komma åt dem.

F47. 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 aktiveras beror på de parametrar som skickas.

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

F48. Hur kan vi kopiera ett Java -objekt?

Svar: 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 Klonbart gränssnitt och därför måste Klonbart gränssnitt implementeras för att göra objektkopior.

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

Svar: Huvudfördelen med att använda arv är återanvändning av kod eftersom arv gör det möjligt för underklasser att återanvända koden för sin superklass. Polymorfism (utökbarhet) är en annan stor fördel som gör att ny funktionalitet kan introduceras utan att påverka existerande härledda klasser.

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

Svar: Standardåtkomstspecifikatorn 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.

Q51. Ge ett exempel på användning av pekare i Java -klassen.

Svar: Det finns inga tips 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 sökordet Slutlig med klassnamnet.

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

Q53. Vad är åtkomstomfånget för Protected Access -specifikatorn?

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

Att modifiera

Klass

Paket

Underklass

Värld

offentlig

OCH

OCH

OCH

OCH

skyddade

OCH

OCH

OCH

N

ingen modifierare

OCH

OCH

N

N

privat

OCH

N

N

N

F54. Vad är skillnaden mellan Stack och Queue?

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

F55. Hur kan vi tillåta serialisering av variabler i Java?

Svar: Om vi ​​vill att vissa variabler av en klass inte ska serieras kan vi använda sökordet övergående samtidigt som de deklareras. Till exempel är variabeln trans_var nedan en övergående variabel och kan inte serialiseras: | _+_ |

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

Ans: Primitiva datatyper som int kan hanteras som objekt med hjälp av deras respektive omslagsklasser. Till exempel är Integer 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 kompileringstidpunkten?

Svar: Kontrollerade undantag kan fångas vid tidpunkten för programkompilering. Kontrollerade undantag måste hanteras genom att använda try catch -block i koden för att kunna kompilera koden.

Q58. Beskriv olika tillstånd i 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 -läge.
  • Kör: En tråd som för närvarande körs är i körläge.
  • Väntar: En tråd som väntar på att en annan tråd ska frigöra vissa resurser är i vänteläge.
  • Död: En tråd som har dött efter avrättningen är i dödläge.

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

Ans: Java tillhandahåller en standardkonstruktor utan argument om ingen explicit konstruktör har definierats i en Java -klass. Men om en explicit konstruktör har definierats kan standardkonstruktorn inte åberopas och utvecklaren kan bara använda de konstruktörer som är definierade i klassen.

Q60. Kan vi åsidosätta en metod genom att använda samma metodnamn och argument men olika returtyper?

Svar: Grundvillkoret för metodöverstyrning är att metodnamn, argument och returtyp måste vara exakt samma som för metoden som åsidosätts. Därför åsidosätter inte en metod en annan returtyp.

F61.Vad blir resultatet av följande kodbit?

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

Svar: I detta fall används postfix ++ - operatören som först returnerar värdet och sedan ökar. Därför kommer utmatningen att vara 4.

Q61. En person säger att han har 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 köra programmet; en klass kompileras framgångsrikt även om den inte har en huvudmetod. Det går dock inte att köra.

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

Svar: Icke-statiska metoder ägs av objekt i en klass och har objektnivåomfattning och för att ringa de icke-statiska metoderna från ett statiskt block (som från en statisk huvudmetod) måste ett objekt i klassen skapas först. Med hjälp av objektreferens kan dessa metoder åberopas.

F63. Vad är de två miljövariablerna som måste ställas in för att köra några Java -program?

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

  1. PATH -variabel
  2. CLASSPATH -variabel

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

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

F65. 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.

Q66. 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 kompilatorn tänker på det som en normal metod.

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

Ans: Round (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 sökord och java stöder inte den här funktionen att gå till en viss märkt rad.

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

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

Q70. Är följande klassdeklaration korrekt?

År:

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

Svar: Ovanstående klassdeklaration är felaktig eftersom en abstrakt klass inte kan deklareras som Final.

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

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

Q72. Vad är skillnaden mellan jämförelse gjord med likvärdig 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 sant om de två har samma värde medan == operatören jämför referenserna för två strängobjekt.

I följande exempel returnerar equals () true eftersom de två strängobjekten har samma värden. Men == operator returnerar falskt eftersom båda strängobjekten refererar till olika objekt: | _+_ |

F73. Ä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 inbyggda metoder. När det gäller inbyggd metodbaserad utveckling definierar vi offentliga statiska metoder i vår Java -klass utan dess implementering och genomförs sedan på ett annat språk som C separat.

F74. Hur definieras destruktorer i Java?

Svar: I Java finns det inga destruktorer definierade i klassen eftersom det inte är nödvändigt att göra det. Java har sin egen sopinsamlingsmekanism som gör jobbet automatiskt genom att förstöra föremålen när det inte längre refereras.

Q75. Kan en variabel vara lokal och statisk samtidigt?

Svar: Nej, en variabel kan inte vara både 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 antas implementeras i de klasser som implementerar gränssnittet. Så det är ingen mening att ha statiska metoder i ett gränssnitt i Java.

Q77. Kan vi i en klass som implementerar ett gränssnitt ä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 definieras i gränssnittet som standard är offentliga, statiska och slutliga och slutliga variabler är som konstanter som inte kan ändras senare.

Q78. Är det korrekt att säga att på grund av sopinsamlingsfunktionen i Java går ett javaprogram aldrig ur minne?

Svar: Även om automatisk skräpinsamling 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 skapandet av Java -objekt sker i en snabbare takt jämfört med sophämtning som resulterar i fyllning av alla tillgängliga minnesresurser.

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

Q79. Kan vi ha någon annan returtyp än void för huvudmetoden?

Svar: Nej, huvudmetoden för Java -klass kan endast ha en ogiltig returtyp för att programmet ska kunna köras framgångsrikt.

Men om du absolut måste returnera ett värde till när huvudmetoden är klar kan du använda System.exit (int -status)

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

Svar: När ett föremål förstörts av skräpsamlare finns det inte längre på högen och det kan inte nås igen. Det finns inget sätt att referera till det igen.

Q81. Vilken metod är ett måste 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 styra databasanslutningar i mitt program och vill att endast en tråd ska kunna göra databasanslutning åt gången. Hur kan jag implementera denna logik?

Svar: Detta kan implementeras med hjälp av synkroniseringsbegreppet. Databasrelaterad kod kan placeras i en metod som hs synkroniserad nyckelord så att endast en tråd kan komma åt den åt gången.

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

Svar: För att slänga ett undantag i ett kodblock manuellt, kasta nyckelord används. Sedan fångas och hanteras detta undantag i fångstblocket. | _+_ |

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 instansera den och bildandet av dess objekt kommer 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 föremål förstörs av en sophämtare, allokeras det utrymme som tilldelas det från högen till högen och blir tillgängligt för alla nya föremål.

Q86. Hur kan vi hitta den verkliga 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. Vilken av följande klasser kommer att ha mer minne tilldelat?

Klass A: Tre metoder, fyra variabler, inget objekt

Klass B: Fem metoder, tre variabler, inget objekt

Svar: Minne tilldelas inte innan objekt skapas. Eftersom det för båda klasserna inte finns några 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 hjälp av provtagningsblock, avbryts programmet och inget uttalande körs efter påståendet 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 annan kropp med hjälp av detta() .

Q90. Vad menas med anonym klass?

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

Till exempel i nedanstående kod har vi definierat en anonym klass i en kodrad: | _+_ |

Q91. Finns det ett sätt att öka storleken på en array efter dess deklaration?

Svar: Matriser är statiska och när vi har specificerat dess storlek kan vi inte ändra det. Om vi ​​vill använda sådana samlingar där vi kan behöva ändra storlek (antal objekt), bör vi föredra vektor framför array.

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

Svar: Om det finns huvudmetod i mer än en klass i ett Java -program, kommer det inte att orsaka några problem eftersom ingångspunkten för någon applikation kommer att vara en specifik klass och koden startar endast från huvudmetoden för just den klassen.

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

Svar: Det bästa sättet att behålla data för framtida bruk är att använda seriekonceptet.

Q94. Vad är en lokal klass i Java?

Svar: I Java, om vi definierar en ny klass i ett visst block, kallas det en lokal klass. En sådan klass har lokal omfattning och är inte användbar 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?

Ans: Ä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 erbjuder många användbara metoder som kan tillämpas på en uppsättning objekt. Några av de viktiga klasserna från Collection API inkluderar ArrayList, HashMap, TreeSet och TreeMap.

Q97. Kan vi gjuta någon annan typ till boolsk typ med typgjutning?

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

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

Svar: Det grundläggande kravet 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 förlänger originalet.

Till exempel returnerar metoden en referens typ. | _+_ |

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

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

Q100. Vad är uppdragsordern för konstruktörer vid arv?

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

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

Denna detaljerade Java intervju frågor pdf hjälper dig att rensa tvivel om Java intervju frågor och kommer också att hjälpa dig att knäcka intervjun.