Last ned PDF
Vi har samlet de ofte stilte spørsmålene og svarene på Java-intervju som vil hjelpe deg med å forberede deg på de grunnleggende Java-intervjuspørsmålene som en intervjuer kan stille deg under intervjuet. I denne listen over grunnleggende Java-intervjuspørsmål har vi dekket alle vanlige grunnleggende og avanserte Core Java-intervjuspørsmål med detaljerte svar som hjelper deg med å fjerne jobbintervjuet.
Følgende liste inneholder 100 viktige Core Java-intervjuspørsmål for nybegynnere, samt Java-intervjuspørsmål og svar for erfarne programmerere for å hjelpe dem med å forberede seg på intervjuet. Denne detaljerte guiden med intervjuspørsmål for Java-programmering vil hjelpe deg med å knekke jobbintervjuet ditt enkelt.
Core Java Intervju Spørsmål og svar for nybegynnere og erfarne
Q1. Hva er forskjellen mellom en indre klasse og en underklasse?
Svar: En indre klasse er en klasse som er nestet i en annen klasse. En indre klasse har tilgangsrettigheter for klassen som hekker den, og den har tilgang til alle variabler og metoder som er definert i den ytre klassen.
En underklasse er en klasse som arver fra en annen klasse som kalles superklasse. Underklasse har tilgang til alle offentlige og beskyttede metoder og felt i sin superklasse.
Q2. Hva er de forskjellige tilgangsspesifikatorene for Java-klasser?
Svar: I Java er tilgangsspesifikatorer nøkkelordene som brukes før et klassenavn som definerer tilgangsområdet. Type tilgangsspesifikatorer for klasser er:
1. Offentlig: Klasse, metode, felt er tilgjengelig fra hvor som helst.
2. Beskyttet: Metode, felt kan nås fra samme klasse som de tilhører eller fra underklassene, og fra klassen i samme pakke, men ikke utenfra.
3. Standard: Metode, felt, klasse er kun tilgjengelig fra samme pakke og ikke utenfor den opprinnelige pakken.
4. Privat: Metode, felt kan nås fra samme klasse som de tilhører.
Q3. Hva er hensikten med statiske metoder og statiske variabler?
Svar: Når det er krav om å dele en metode eller en variabel mellom flere objekter i en klasse i stedet for å lage separate kopier for hvert objekt, bruker vi statiske nøkkelord for å lage en metode eller variabel delt for alle objekter.
Q4. Hva er datakapsling og hvilken betydning har det?
Ans: Encapsulation er et konsept i Object Oriented Programming for å kombinere egenskaper og metoder i en enkelt enhet.
Encapsulation hjelper programmerere å følge en modulær tilnærming for programvareutvikling, ettersom hvert objekt har sitt eget sett med metoder og variabler og tjener dets funksjoner uavhengig av andre objekter. Innkapsling tjener også formålet med skjuling av data.
Q5. Hva er en singleton-klasse? Gi et praktisk eksempel på bruken.
En singleton-klasse i java kan bare ha en forekomst, og derfor tilhører alle dens metoder og variabler bare en forekomst. Singleton klassekonsept er nyttig i situasjoner der det er behov for å begrense antall objekter for en klasse.
Det beste eksemplet på singleton-bruksscenario er når det er en grense for å ha bare én tilkobling til en database på grunn av noen driverbegrensninger eller på grunn av lisensieringsproblemer.
Q6. Hva er Loops i Java? Hva er tre typer løkker?
Svar: Looping brukes i programmering for å utføre en uttalelse eller en uttalelsesblokk gjentatte ganger. Det er tre typer sløyfer i Java:
1) For løkker
For sløyfer brukes i java til å utføre uttalelser gjentatte ganger for et gitt antall ganger. For sløyfer brukes når programmerer har kjent antall ganger å utføre utsagnene.
2) Mens løkker
While loop brukes når visse utsagn må utføres gjentatte ganger til en betingelse er oppfylt. I mens sløyfer blir tilstand først sjekket før utførelse av uttalelser.
3) Gjør mens løkker
Gjør mens sløyfe er det samme som mens sløyfe med bare forskjell, blir den tilstanden sjekket etter utførelse av setningsblokk. Derfor i tilfelle do while loop utføres uttalelser minst en gang.
Spørsmål 7: Hva er en uendelig løkke? Hvordan uendelig sløyfe blir erklært?
Svar: En uendelig løkke går uten noen tilstand og går uendelig. En uendelig sløyfe kan brytes ved å definere hvilken som helst bruddlogikk i setningen.
Uendelig løkke er erklært som følger:
for (;;){// Statements to execute// Add any loop breaking logic}
Q8. Hva er forskjellen mellom fortsett og pause uttalelse?
Svar: pause og fortsett er to viktige nøkkelord som brukes i Loops. Når et pause-nøkkelord brukes i en sløyfe, brytes sløyfen øyeblikkelig mens når fortsett nøkkelord brukes, blir gjeldende iterasjon ødelagt og sløyfen fortsetter med neste iterasjon.
I eksemplet nedenfor er Loop ødelagt når telleren når 4.
for (counter = 0; counter & lt; 10; counter++)system.out.println(counter);if (counter == 4) {break;}}
I nedenstående eksempel når teller når 4, hopper loop til neste iterasjon og eventuelle utsagn etter fortsett nøkkelordet hoppes over for gjeldende iterasjon.
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");}
Q9. Hva er forskjellen mellom doble og float-variabler i Java?
Svar: I java tar float 4 byte i minnet mens Double tar 8 byte i minnet. Flyte er desimal med flytende punkt med ett presisjon, mens dobbelt er desimal med dobbelt presisjon.
Q10. Hva er Final Keyword i Java? Gi et eksempel.
Svar: I java blir en konstant erklært ved hjelp av nøkkelordet Final. Verdien kan bare tildeles en gang, og etter tildelingen kan verdien av en konstant ikke endres.
I eksemplet nedenfor er en konstant med navnet const_val erklært og tildelt avalue:
Privat finale int const_val = 100
Når en metode er erklært som endelig, kan den IKKE overstyres av underklassene. Denne metoden er raskere enn noen annen metode, fordi de løses på overholdt tidspunkt.
Når en klasse erklæres som endelig, kan den ikke underklasseres. Eksempel på streng, heltal og andre omslagsklasser.
Q11. Hva er ternær operatør? Gi et eksempel.
Svar: Ternær operatør, også kalt betinget operatør, brukes til å bestemme hvilken verdi som skal tilordnes en variabel basert på en boolsk verdivurdering. Det er betegnet som?
I eksemplet nedenfor, hvis rangering er 1, tildeles status verdien "Ferdig" ellers "Venter".
public class conditionTest {public static void main(String args[]) {String status;int rank = 3;status = (rank == 1) ? "Done" : "Pending";System.out.println(status);}}
Q12: Hvordan kan du generere tilfeldige tall i Java?
Svar:
- Ved å bruke Math.random () kan du generere tilfeldige tall i området større enn eller lik 0,1 og mindre enn 1,0
- Bruke tilfeldig klasse i pakken java.util
Q13. Hva er standard bryterveske? Gi eksempel.
Svar: I en bryteruttalelse utføres standard sak når ingen andre brytertilstand samsvarer. Standard sak er en valgfri sak. Den kan kun erklæres når alle andre bryter tilfeller er kodet.
I eksemplet nedenfor, når poengsummen ikke er 1 eller 2, brukes standardtilfelle.
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");}}}
Q14. Hva er basisklassen i Java som alle klassene kommer fra?
Svar: java.lang.object
Q15. Kan main () -metoden i Java returnere data?
Svar: I java kan main () -metoden ikke returnere data, og derfor blir den alltid erklært med en ugyldig returtype.
Q16. Hva er Java-pakker? Hva er betydningen av pakker?
Svar: I Java er pakken en samling av klasser og grensesnitt som er samlet sammen når de er relatert til hverandre. Bruk av pakker hjelper utviklere med å modulere koden og gruppere koden for riktig gjenbruk. Når koden er pakket i pakker, kan den importeres i andre klasser og brukes.
Q17. Kan vi erklære en klasse som abstrakt uten å ha noen abstrakt metode?
Svar: Ja, vi kan lage en abstrakt klasse ved å bruke abstrakt nøkkelord før klassens navn, selv om det ikke har noen abstrakt metode. Imidlertid, hvis en klasse har til og med en abstrakt metode, må den erklæres som abstrakt ellers vil det gi en feil.
Q18. Hva er forskjellen mellom en abstrakt klasse og grensesnitt i Java?
Svar: Den primære forskjellen mellom en abstrakt klasse og grensesnitt er at et grensesnitt bare kan ha erklæring om offentlige statiske metoder uten konkret implementering, mens en abstrakt klasse kan ha medlemmer med alle tilgangsspesifikatorer (offentlig, privat osv.) Med eller uten konkret implementering.
En annen viktig forskjell i bruken av abstrakte klasser og grensesnitt er at en klasse som implementerer et grensesnitt, må implementere alle metodene i grensesnittet, mens en klasse som arver fra en abstrakt klasse ikke krever implementering av alle metodene i superklassen.
En klasse kan implementere flere grensesnitt, men den kan bare utvide en abstrakt klasse.
Q19. Hva er ytelsesimplikasjonene til grensesnitt over abstrakte klasser?
Svar: Grensesnitt er tregere i ytelse sammenlignet med abstrakte klasser, ettersom ekstra indireksjoner kreves for grensesnitt. En annen viktig faktor for utviklere å ta i betraktning er at en hvilken som helst klasse bare kan utvide en abstrakt klasse mens en klasse kan implementere mange grensesnitt.
Bruk av grensesnitt legger også en ekstra belastning på utviklerne når som helst når et grensesnitt implementeres i en klasse; utvikler er tvunget til å implementere hver metode for grensesnitt.
Q20. Importerer import av en pakke også delpakker i Java?
Svar: I java, når en pakke er importert, blir ikke underpakkene importert, og utvikleren må importere dem separat om nødvendig.
For eksempel, hvis en utvikler importerer et pakkeuniversitet. *, Blir alle klassene i pakken med navnet universitet lastet, men ingen klasser fra underpakken er lastet inn. For å laste klassene fra underpakken (si avdelingen), må utvikleren importere den eksplisitt som følger:
Importer universitet. Avdeling. *
Q21. Kan vi erklære hovedmetoden i klassen som privat?
Svar: I java må hovedmetoden være offentlig statisk for å kunne kjøre et program riktig. Hvis hovedmetoden blir erklært privat, vil ikke utvikleren få noen kompileringsfeil, men den blir ikke utført og vil gi en kjøretidsfeil.
Q22. Hvordan kan vi overføre argument til en funksjon ved referanse i stedet for passere verdi?
Svar: I java kan vi bare overføre argument til en funksjon etter verdi og ikke ved referanse.
Q23. Hvordan ser du et objekt i java?
Svar: I java, for å konvertere et objekt til byte stream ved serialisering, implementeres et grensesnitt med navnet Serializable av klassen. Alle objekter i en klasse som implementerer serialiserbart grensesnitt, blir serielliserte og deres tilstand lagres i byte-strøm.
Q24. Når skal vi bruke serialisering?
Svar: Serialisering brukes når data må overføres over nettverket. Ved hjelp av serialisering lagres objektets tilstand og konverteres til byte-strøm. Byte-strømmen overføres over nettverket og objektet blir gjenopprettet på destinasjonen.
Q25. Er det obligatorisk at en prøveblokk etterfølges av en fangstblokk i Java for håndtering av unntak?
Svar: Prøv å blokkere må følges av enten fangstblokk eller til slutt blokk eller begge deler. Ethvert unntak som kastes fra prøveblokk, må enten fanges i fangstblokken eller ellers spesifikke oppgaver som skal utføres før kodeabort settes i Endelig-blokken.
Q26. Er det noen måte å hoppe over Endelig unntaksblokk, selv om det forekommer unntak i unntaksblokken?
Svar: Hvis et unntak er reist i Prøv blokk, går kontroll over til fangstblokk hvis det ellers eksisterer for å endelig blokkere. Endelig utføres blokk alltid når et unntak oppstår, og den eneste måten å unngå utføring av utsagn i Endelig blokk er ved å avbryte koden med makt ved å skrive følgende kodelinje på slutten av prøveblokk:
System.exit(0);
Q27. Når konstruktøren av en klasse blir påkalt?
Svar: Konstruktøren av en klasse påkalles hver gang et objekt opprettes med et nytt nøkkelord.
I den følgende klassen blir for eksempel to objekter opprettet ved hjelp av et nytt nøkkelord, og derfor blir konstruktøren påkalt to ganger.
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 klasse ha flere konstruktører?
Svar: Ja, en klasse kan ha flere konstruktører med forskjellige parametere. Hvilken konstruktør som blir brukt til oppretting av objekt, avhenger av argumentene som sendes mens du oppretter objektene.
Q29. Kan vi overstyre statiske metoder i en klasse?
Svar: Vi kan ikke overstyre statiske metoder. Statiske metoder tilhører en klasse og ikke til individuelle objekter og løses på tidspunktet for kompilering (ikke ved kjøretid). Selv om vi prøver å overstyre den statiske metoden, får vi ikke en komplisjonsfeil, og heller ikke effekten av å overstyre når du kjører kode.
Q30. I eksemplet nedenfor, hva blir utdataene?
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 : Resultatet vil være:
Viser fra underklasse
Viser fra superklasse
Q31. Er streng en datatype i java?
Svar: Streng er ikke en primitiv datatype i java. Når en streng blir opprettet i java, er det faktisk et objekt av Java.Lang.String-klassen som blir opprettet. Etter at dette strengobjektet er opprettet, kan alle innebygde metoder i strengklassen brukes på strengobjektet.
Q32. I eksemplet nedenfor, hvor mange strengobjekter opprettes?
String s1="I am Java Expert";String s2="I am C Expert";String s3="I am Java Expert";
Svar: I eksemplet ovenfor opprettes to objekter av Java.Lang.String-klassen. s1 og s3 er referanser til samme objekt.
Q33. Hvorfor kalles strenger i Java som uforanderlig?
Svar: I java kalles strengobjekter uforanderlig, ettersom når verdien er tildelt en streng, kan den ikke endres, og hvis den endres, opprettes et nytt objekt.
I eksemplet nedenfor refererer referansestr til et strengobjekt som har verdien "Verdi en".
String str="Value One";
Når en ny verdi tildeles den, opprettes et nytt strengobjekt og referansen flyttes til det nye objektet.
str="New Value";
Q34. Hva er forskjellen mellom en matrise og Vector?
Svar: Et array grupperer data av samme primitive type og er statisk, mens vektorer er dynamiske og kan inneholde data av forskjellige datatyper.
Q35. Hva er multi-threading?
Svar: Multi threading er et programmeringskonsept for å kjøre flere oppgaver samtidig i et enkelt program. Tråder deler samme prosessstak og kjører parallelt. Det hjelper med å forbedre ytelsen til ethvert program.
Q36. Hvorfor Runnable Interface brukes i Java?
Svar: Runnable interface brukes i java for å implementere applikasjoner med flere tråder. Java.Lang.Runnable grensesnitt er implementert av en klasse for å støtte multi threading.
Q37. Hva er de to måtene å implementere multi-threading i Java?
Svar: Multitrådede applikasjoner kan utvikles i Java ved å bruke en av følgende to metoder:
1. Ved å bruke Java.Lang.Runnable Interface. Klasser implementerer dette grensesnittet for å aktivere multi threading. Det er en Run () -metode i dette grensesnittet som er implementert.
2. Ved å skrive en klasse som utvider Java.Lang.Thread-klassen.
Q38. Når det kreves mange endringer i data, hvilken bør du foretrekke å bruke? String eller StringBuffer?
Svar: Siden StringBuffers er dynamiske og vi kan endre verdiene til StringBuffer-objekter i motsetning til String som er uforanderlig, er det alltid et godt valg å bruke StringBuffer når data endres for mye. Hvis vi bruker String i et slikt tilfelle, vil det for hvert dataendring opprettes et nytt String-objekt som vil være en ekstra overhead.
Q39. Hva er hensikten med å bruke Break i hvert tilfelle av Switch Statement?
Svar: Break brukes etter hvert tilfelle (unntatt det siste) i en bryter, slik at koden brytes etter gyldig sak og ikke flyter i de videre tilfellene.
Hvis pause ikke brukes etter hvert tilfelle, blir alle saker etter gyldig sak også utført, noe som resulterer i feil resultat.
Q40. Hvordan gjøres søppelhenting i Java?
Svar: I java, når det ikke er referert til et objekt lenger, foregår søppeloppsamling og objektet blir ødelagt automatisk. For automatisk søppeloppsamling kaller Java enten System.gc () -metoden eller Runtime.gc () -metoden.
Q41. Hvordan kan vi utføre hvilken som helst kode selv før hovedmetoden?
Svar: Hvis vi ønsker å utføre uttalelser før til og med opprettelse av objekter ved lastetid av klassen, kan vi bruke en statisk blokk med kode i klassen. Eventuelle utsagn i denne statiske kodeblokken blir utført en gang på tidspunktet for lasting av klassen, selv før oppretting av objekter i hovedmetoden.
Q42. Kan en klasse være en superklasse og en underklasse samtidig? Gi eksempel.
Svar: Hvis det er et hierarki av arv brukt, kan en klasse være en superklasse for en annen klasse og en underklasse for en annen samtidig.
I eksemplet nedenfor er kontinentklasse underklasse av verdensklasse, og det er superklasse av landsklasse.
public class world {… .}public class continenet extends world {… }public class country extends continent {… .}
Q43. Hvordan skapes objekter i en klasse hvis ingen konstruktører er definert i klassen?
Svar: Selv om ingen eksplisitt konstruktør er definert i en java-klasse, blir objekter opprettet med hell, da en standardkonstruktor implisitt brukes til å opprette objekter. Denne konstruktøren har ingen parametere.
Q44. Hvordan kan vi i multitrading sikre at en ressurs ikke brukes av flere tråder samtidig?
Svar: Ved flertråding kan tilgang til ressursene som deles mellom flere tråder styres ved hjelp av begrepet synkronisering. Ved hjelp av synkronisert nøkkelord kan vi sikre at bare en tråd kan bruke delt ressurs om gangen, og andre kan bare få kontroll over ressursen når den først har blitt fri for den andre som bruker den.
Q45. Kan vi kalle konstruktøren av en klasse mer enn en gang for et objekt?
Svar: Constructor kalles automatisk når vi oppretter et objekt ved hjelp av et nytt nøkkelord. Det kalles bare en gang for et objekt på tidspunktet for oppretting av objektet, og derfor kan vi ikke påkalle konstruktøren igjen for et objekt etter dets oppretting.
Q46. Det er to klasser som heter klasseA og klasseB. Begge klassene er i samme pakke. Kan et privat medlem av klasse A være tilgjengelig av et objekt av klasse B?
Svar: Private medlemmer av en klasse er ikke tilgjengelige utenfor omfanget av den klassen, og andre klasser, selv i samme pakke, har ikke tilgang til dem.
Q47. Kan vi ha to metoder i en klasse med samme navn?
Svar: Vi kan definere to metoder i en klasse med samme navn, men med forskjellig antall / type parametere. Hvilken metode som skal påkalles, vil avhenge av parametrene som sendes.
For eksempel i klassen nedenfor har vi to utskriftsmetoder med samme navn, men forskjellige parametere. Avhengig av parametrene, vil passende bli kalt:
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");}}
Q48. Hvordan kan vi lage en kopi av et java-objekt?
Ans: Vi kan bruke konseptet kloning til å lage en kopi av et objekt. Ved hjelp av klon lager vi kopier med den faktiske tilstanden til et objekt.
Clone () er en metode for Cloneable interface og derfor må Cloneable interface implementeres for å lage objektkopier.
Q49. Hva er fordelen med å bruke arv?
Svar: Hovedfordelen med å bruke arv er gjenbrukbarhet av kode, da arv gjør det mulig for underklasser å gjenbruke koden til superklassen. Polymorfisme (utvidbarhet) er en annen stor fordel som gjør det mulig å introdusere ny funksjonalitet uten å påvirke eksisterende avledede klasser.
Q50. Hva er standard tilgangsspesifikator for variabler og metoder for en klasse?
Svar: Standard tilgangsspesifikator for variabler og metode er pakkebeskyttet, dvs. variabler og klasse er tilgjengelig for alle andre klasser, men i samme pakke, ikke utenfor pakken.
Q51. Gi et eksempel på bruk av pekere i Java-klasse.
Svar: Det er ingen pekepinner i Java. Så vi kan ikke bruke pekere i Java.
Q52. Hvordan kan vi begrense arv for en klasse slik at ingen klasse kan arves fra den?
Svar: Hvis vi vil at en klasse ikke skal utvides videre med noen klasse, kan vi bruke nøkkelordet Final med klassenavnet.
I det følgende eksemplet er Stone-klasse Final og kan ikke utvides
public Final Class Stone {// Class methods and Variables}
Q53. Hva er tilgangsområdet til Protected Access-spesifikatoren?
Svar: Når en metode eller en variabel blir deklarert med Protected access specifier, blir den tilgjengelig i samme klasse, hvilken som helst annen klasse i samme pakke, samt en underklasse.
Modifikator |
Klasse |
Pakke |
Underklasse |
Verden |
offentlig |
Y |
Y |
Y |
Y |
beskyttet |
Y |
Y |
Y |
N |
ingen modifikator |
Y |
Y |
N |
N |
privat |
Y |
N |
N |
N |
Q54. Hva er forskjellen mellom Stack og Queue?
Svar: Stack og Queue brukes begge som plassholder for innsamling av data. Den primære forskjellen mellom en stabel og en kø er at stakken er basert på LIFO-prinsippet (Last in First out) mens en kø er basert på FIFO-prinsippet (First In First Out).
Q55. I java, hvordan kan vi ikke tillate serieisering av variabler?
Svar: Hvis vi vil at visse variabler i en klasse ikke skal serieiseres, kan vi bruke nøkkelordet forbigående mens vi erklærer dem. For eksempel er variabelen trans_var nedenfor en forbigående variabel og kan ikke serialiseres:
public class transientExample {private transient trans_var;// rest of the code}
Q56. Hvordan kan vi bruke primitive datatyper som objekter?
Svar: Primitive datatyper som int kan håndteres som objekter ved bruk av deres respektive wrapper-klasser. Integer er for eksempel en wrapper-klasse for primitiv datatype int. Vi kan bruke forskjellige metoder på en wrapper-klasse, akkurat som alle andre objekter.
Q57. Hvilke typer unntak fanges opp på kompileringstidspunktet?
Svar: Merkede unntak kan fanges på tidspunktet for programkompilering. Undersøkte unntak må håndteres ved å bruke prøvefangstblokk i koden for å kunne kompilere koden.
Q58. Beskriv forskjellige tilstander i en tråd.
Svar: En tråd i Java kan være i en av følgende tilstander:
- Klar: Når en tråd opprettes, er den i Klar-tilstand.
- Kjører: En tråd som utføres for øyeblikket er i kjører tilstand.
- Venter: En tråd som venter på en annen tråd for å frigjøre visse ressurser, er i ventetilstand.
- Død: En tråd som har gått død etter henrettelsen er i død tilstand.
Q59. Kan vi bruke en standardkonstruktør av en klasse selv om en eksplisitt konstruktør er definert?
Svar: Java gir en standard ingen argumentkonstruktør hvis ingen eksplisitt konstruktør er definert i en Java-klasse. Men hvis en eksplisitt konstruktør er definert, kan ikke standardkonstruktøren påberopes, og utvikler kan bare bruke de konstruktørene som er definert i klassen.
Q60. Kan vi overstyre en metode ved å bruke samme metodenavn og argumenter, men forskjellige returtyper?
Svar: Den grunnleggende forutsetningen for overstyring av metoden er at metodenavn, argumenter samt returtype må være nøyaktig den samme som for metoden som overstyres. Bruk av en annen returtype overstyrer derfor ikke en metode.
Q61.Hva blir resultatet av følgende kode?
public class operatorExample {public static void main(String args[]) {int x = 4;system.out.println(x++);}}
Svar: I dette tilfellet brukes postfix ++ operatør som først returnerer verdien og deretter trinnene. Derfor vil produksjonen være 4.
Q61. En person sier at han samlet en java-klasse uten å ha en hovedmetode i den? Er det mulig?
Ans: hovedmetoden er et inngangspunkt for Java-klassen og er nødvendig for gjennomføring av programmet. en klasse blir samlet vellykket, selv om den ikke har en hovedmetode. Det kan ikke kjøres skjønt.
Q62. Kan vi kalle en ikke-statisk metode fra en statisk metode?
Svar: Ikke-statiske metoder eies av objekter i en klasse og har objektnivåomfang, og for å kalle de ikke-statiske metodene fra en statisk blokk (som fra en statisk hovedmetode), må et objekt av klassen opprettes først. Ved hjelp av objektreferanse kan disse metodene påberopes.
Q63. Hva er de to miljøvariablene som må settes for å kjøre Java-programmer?
Svar: Java-programmer kan bare kjøres på en maskin når to miljøvariabler er riktig innstilt:
- PATH-variabel
- CLASSPATH-variabel
Q64. Kan variabler brukes i Java uten initialisering?
Svar: Hvis en variabel brukes i en kode uten forutgående initialisering av en gyldig verdi i Java, kompilerer ikke programmet og gir en feil da ingen standardverdi er tildelt variabler i Java.
Q65. Kan en klasse i Java arves fra mer enn en klasse?
Svar: I Java kan en klasse bare stamme fra en klasse og ikke fra flere klasser. Flere arvinger støttes ikke av Java.
Q66. Kan en konstruktør ha et annet navn enn et klassenavn i Java?
Svar: Konstruktør i Java må ha samme navn som klassens navn, og hvis navnet er annerledes, fungerer det ikke som en konstruktør, og kompilatoren tenker på det som en vanlig metode.
Q67. Hva blir resultatet av runde (3.7) og Ceil (3.7)?
Svar: Runde (3.7) returnerer 4 og Ceil (3.7) returnerer 4.
Q68: Kan vi bruke goto i Java til å gå til en bestemt linje?
Svar: I Java er det ikke noe nøkkelord, og java støtter ikke denne funksjonen for å gå til en bestemt merket linje.
Q69. Kan en død tråd startes på nytt?
Svar: I java kan en tråd som er i død tilstand ikke startes på nytt. Det er ingen måte å starte en død tråd på nytt.
Q70. Er følgende klassedeklarasjon riktig?
Svar:
public abstract final class testClass {// Class methods and variables}
Svar: Ovennevnte klassedeklarasjon er feil, da en abstrakt klasse ikke kan erklæres som endelig.
Q71. Kreves JDK på hver maskin for å kjøre et Java-program?
Svar: JDK er utviklingssett for Java og er kun nødvendig for utvikling og for å kjøre et Java-program på en maskin, er JDK ikke nødvendig. Bare JRE kreves.
Q72. Hva er forskjellen mellom sammenligning utført med lik metode og == operatør?
Svar: I Java brukes metoden equals () for å sammenligne innholdet i to strengobjekter og returnerer true hvis de to har samme verdi mens == operator sammenligner referansene til to strengobjekter.
I det følgende eksemplet returnerer like () true når de to strengobjektene har samme verdier. Imidlertid returnerer == operator false da begge strengobjektene refererer til forskjellige objekter:
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. Er det mulig å definere en metode i Java-klassen, men gi den implementeringen i koden til et annet språk som C?
Svar: Ja, vi kan gjøre dette ved hjelp av innfødte metoder. I tilfelle av innfødt metodebasert utvikling, definerer vi offentlige statiske metoder i Java-klassen uten implementering, og deretter gjøres implementeringen på et annet språk som C hver for seg.
Q74. Hvordan defineres destruktører i Java?
Svar: I Java er det ingen destruktører definert i klassen, da det ikke er behov for det. Java har sin egen søppeloppsamlingsmekanisme som gjør jobben automatisk ved å ødelegge objektene når det ikke lenger er referert til det.
Q75. Kan en variabel være lokal og statisk samtidig?
Svar: Nei, en variabel kan ikke være både statisk og lokal samtidig. Å definere en lokal variabel som statisk gir kompileringsfeil.
Q76. Kan vi ha statiske metoder i et grensesnitt?
Svar: Statiske metoder kan ikke overstyres i noen klasse, mens noen metoder i et grensesnitt som standard er abstrakte og skal implementeres i klassene som implementerer grensesnittet. Så det gir ingen mening å ha statiske metoder i et grensesnitt i Java.
Q77. I en klasse som implementerer et grensesnitt, kan vi endre verdien på en variabel som er definert i grensesnittet?
Svar: Nei, vi kan ikke endre verdien på noen variabel i et grensesnitt i implementeringsklassen, ettersom alle variablene som er definert i grensesnittet er som standard offentlige, statiske og endelige og endelige variabler er som konstanter som ikke kan endres senere.
Q78. Er det riktig å si at et Java-program på grunn av søppelinnsamlingsfunksjonen i Java aldri går tom for minne?
Svar: Selv om automatisk søppelsamling leveres av Java, sikrer det ikke at et Java-program ikke vil gå tom for minne, da det er en mulighet for at oppretting av Java-objekter gjøres i et raskere tempo sammenlignet med søppelinnsamling, noe som resulterer i fylling av alle tilgjengelige minneressurser.
Så, søppeloppsamling hjelper til med å redusere sjansene for at et program går tom for minne, men det sikrer ikke det.
Q79. Kan vi ha noen annen returtype enn ugyldig for hovedmetoden?
Svar: Nei, hovedklassen i Java-klassen kan bare ha ugyldig returtype for at programmet skal bli utført.
Likevel, hvis du absolutt må returnere en verdi til ved fullføring av hovedmetoden, kan du bruke System.exit (int-status)
Q80. Jeg vil nå igjen og bruke et objekt når det har blitt samlet inn søppel. Hvordan er det mulig?
Svar: Når en gjenstand er ødelagt av søppeloppsamleren, eksisterer den ikke lenger på dyngen, og den er ikke tilgjengelig igjen. Det er ingen måte å referere til det igjen.
Q81. Hvilken metode er en må implementering for alle tråder i Java-trådprogrammering?
Ans: Run () er en metode for Runnable-grensesnitt som må implementeres av alle tråder.
Q82. Jeg vil kontrollere databaseforbindelser i programmet mitt og vil at bare en tråd skal kunne opprette databaseforbindelse om gangen. Hvordan kan jeg implementere denne logikken?
Svar: Dette kan implementeres ved å bruke begrepet synkronisering. Databaserelatert kode kan plasseres i en metode som har synkronisert nøkkelord, slik at bare en tråd kan få tilgang til den om gangen.
Q83. Hvordan kan et unntak kastes manuelt av en programmerer?
Svar: For å kaste et unntak i en kodeblokk manuelt, brukes kaste nøkkelord. Da blir dette unntaket fanget og håndtert i fangstblokken.
public void topMethod() {try {excMethod();} catch (ManualException e) {}}public void excMethod {String name = null;if (name == null) {throw (new ManualException("Exception thrown manually ");}}
Q84. Jeg ønsker at klassen min skal utvikles på en slik måte at ingen andre klasser (til og med avledet klasse) kan lage sine objekter. Hvordan kan jeg gjøre det?
Svar: Hvis vi erklærer konstruktøren av en klasse som privat, vil den ikke være tilgjengelig av noen annen klasse, og derfor vil ingen andre klasser kunne instantiere den og dannelsen av objektet vil være begrenset til seg selv.
Q85. Hvordan lagres objekter i Java?
Svar: I java får hvert objekt når det er opprettet et minne fra en haug. Når en gjenstand blir ødelagt av en søppeloppsamler, tildeles plassen til den fra haugen på nytt til haugen og blir tilgjengelig for nye gjenstander.
Q86. Hvordan kan vi finne den faktiske størrelsen på et objekt på dyngen?
Svar: I java er det ingen måte å finne ut den nøyaktige størrelsen på et objekt på dyngen.
Q87. Hvilke av de følgende klassene vil ha mer minne tildelt?
Klasse A: Tre metoder, fire variabler, ingen gjenstand
Klasse B: Fem metoder, tre variabler, ingen gjenstand
Svar: Minne tildeles ikke før oppretting av objekter. Siden for begge klassene er det ingen objekter opprettet, så det tildeles ikke noe minne på bunken for noen klasse.
Q88. Hva skjer hvis et unntak ikke håndteres i et program?
Svar: Hvis et unntak ikke håndteres i et program ved hjelp av prøvefangstblokker, blir programmet avbrutt og ingen uttalelser utføres etter uttalelsen som forårsaket unntakskasting.
Q89. Jeg har flere konstruktører definert i en klasse. Er det mulig å ringe en konstruktør fra en annen konstruktørs kropp?
Svar: Hvis en klasse har flere konstruktører, er det mulig å ringe en konstruktør fra kroppen til en annen ved hjelp av dette () .
Q90. Hva menes med anonym klasse?
Svar: En anonym klasse er en klasse definert uten noe navn i en enkelt kodelinje ved hjelp av nytt nøkkelord.
For eksempel har vi under koden definert en anonym klasse i en kodelinje:
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. Er det en måte å øke størrelsen på en matrise etter erklæringen?
Svar: Arrays er statiske, og når vi har spesifisert størrelsen, kan vi ikke endre den. Hvis vi ønsker å bruke slike samlinger der vi kan kreve endring av størrelse (antall artikler), bør vi foretrekke vektor fremfor matrise.
Q92. Hvis et program har flere klasser i seg, er det greit å ha en hovedmetode i mer enn en klasse?
Svar: Hvis det er hovedmetode i mer enn en klasse i et Java-program, vil det ikke forårsake noe problem, da inngangspunktet for et hvilket som helst program vil være en bestemt klasse, og koden starter bare fra hovedmetoden til den aktuelle klassen.
Q93. Jeg vil vedvare data om objekter for senere bruk. Hva er den beste måten å gjøre det på?
Svar: Den beste måten å vedvare data for fremtidig bruk er å bruke begrepet serialisering.
Q94. Hva er en lokal klasse i Java?
Svar: Hvis vi definerer en ny klasse i Java i Java, kalles det en lokal klasse. En slik klasse har lokalt omfang og kan ikke brukes utenfor blokken der den er definert.
Q95. String og StringBuffer representerer begge String-objekter. Kan vi sammenligne String og StringBuffer i Java?
Svar: Selv om String og StringBuffer begge representerer String-objekter, kan vi ikke sammenligne dem med hverandre, og hvis vi prøver å sammenligne dem, får vi en feil.
Q96. Hvilket API leveres av Java for operasjoner på sett med objekter?
Ans: Java tilbyr et samlings-API som gir mange nyttige metoder som kan brukes på et sett med objekter. Noen av de viktige klassene som tilbys av Collection API inkluderer ArrayList, HashMap, TreeSet og TreeMap.
Q97. Kan vi støpe hvilken som helst annen type til boolsk type med type støping?
Svar: Nei, vi kan verken kaste noen annen primitiv type til boolsk datatype eller kaste boolske datatype til noen annen primitiv datatype.
Q98. Kan vi bruke forskjellige returtyper for metoder når de overstyres?
Svar: Det grunnleggende kravet til metodeoverstyring i Java er at den overstyrte metoden skal ha samme navn og parametere, men en metode kan overstyres med en annen returtype så lenge den nye returtypen utvider originalen.
For eksempel returnerer metoden en referansetype.
Class B extends A {A method(int x) {//original method}B method(int x) {//overridden method}}
Q99. Hva er basisklassen for alle unntaksklasser?
Svar: I Java er Java.lang.Throwable superklassen til alle unntaksklasser , og alle unntaksklasser er avledet fra denne basisklassen .
Q100. Hva er rekkefølgen av konstruksjoner i arv?
Svar: I tilfelle arv, når et nytt objekt til en avledet klasse opprettes, påkalles først konstruktøren til superklassen og deretter påkalles konstruktøren for den avledede klassen.
Forbered deg på jobbintervjuet! Gå gjennom Java Tutorial for å være bedre forberedt.
Denne detaljerte Java-intervjuspørsmålet pdf vil hjelpe deg med å fjerne tvilen om Java-intervjuspørsmål og vil også hjelpe deg med å knekke intervjuet.