Top 100 Java-spørgsmål og svar (Download PDF)

Indholdsfortegnelse:

Anonim

Download PDF

Vi har samlet de hyppigst stillede Java Interview-spørgsmål og -svar, der hjælper dig med at forberede dig på de grundlæggende Java-interviewspørgsmål, som en interviewer kan stille dig under dit interview. I denne liste over grundlæggende Java-interviewspørgsmål har vi dækket alle ofte stillede grundlæggende og avancerede Core Java-interviewspørgsmål med detaljerede svar, der hjælper dig med at rydde jobsamtalen.

Følgende liste indeholder 100 vigtige Core Java-interviewspørgsmål til nybegyndere samt Java-interviewspørgsmål og svar til erfarne programmører for at hjælpe dem med at forberede sig til interviewet. Denne detaljerede guide til interviewspørgsmål til Java-programmering hjælper dig med let at knække dit jobinterview.

Core Java Interview Spørgsmål og svar til nybegyndere og erfarne

Q1. Hvad er forskellen mellem en indre klasse og en underklasse?

Svar: En indre klasse er en klasse, der er indlejret i en anden klasse. En indre klasse har adgangsrettigheder til den klasse, der indlejrer den, og den kan få adgang til alle variabler og metoder, der er defineret i den ydre klasse.

En underklasse er en klasse, der arver fra en anden klasse kaldet superklasse. Underklasse kan få adgang til alle offentlige og beskyttede metoder og felter i sin superklasse.

Q2. Hvad er de forskellige adgangsspecifikatorer for Java-klasser?

Svar: I Java er adgangsspecifikatorer de nøgleord, der bruges før et klassenavn, der definerer adgangsområdet. Typerne af adgangsspecifikatorer for klasser er:

1. Offentlig: Klasse, metode, felt er tilgængelig overalt.

2. Beskyttet: Metode, felt kan tilgås fra den samme klasse, som de tilhører, eller fra underklasserne og fra klassen i den samme pakke, men ikke udefra.

3. Standard: Metode, felt, klasse kan kun tilgås fra den samme pakke og ikke uden for den oprindelige pakke.

4. Privat: Metode, felt kan tilgås fra samme klasse, som de tilhører.

Q3. Hvad er formålet med statiske metoder og statiske variabler?

Svar: Når der er et krav om at dele en metode eller en variabel mellem flere objekter i en klasse i stedet for at oprette separate kopier til hvert objekt, bruger vi statiske nøgleord til at lave en metode eller variabel delt for alle objekter.

Q4. Hvad er datakapsling, og hvad er dens betydning?

Ans: Encapsulation er et koncept i Object Oriented Programming til at kombinere egenskaber og metoder i en enkelt enhed.

Indkapsling hjælper programmører med at følge en modulær tilgang til softwareudvikling, da hvert objekt har sit eget sæt metoder og variabler og tjener dets funktioner uafhængigt af andre objekter. Indkapsling tjener også formålet med dataskydning.

Q5. Hvad er en singleton-klasse? Giv et praktisk eksempel på dets anvendelse.

En singleton-klasse i java kan kun have en forekomst, og derfor tilhører alle dens metoder og variabler kun en forekomst. Singleton klassekoncept er nyttigt i situationer, hvor der er behov for at begrænse antallet af objekter til en klasse.

Det bedste eksempel på singleton-brugsscenarie er, når der er en grænse for kun at have en forbindelse til en database på grund af nogle driverbegrænsninger eller på grund af licensproblemer.

Q6. Hvad er sløjfer i Java? Hvad er tre typer løkker?

Ans: Looping bruges i programmering til at udføre en erklæring eller en blok af udsagn gentagne gange. Der er tre typer sløjfer i Java:

1) Til sløjfer

For sløjfer bruges i java til at udføre udsagn gentagne gange for et givet antal gange. For sløjfer bruges, når programmøren kender antallet af gange til at udføre udsagnene.

2) Mens løkker

Mens loop bruges, når visse udsagn skal udføres gentagne gange, indtil en betingelse er opfyldt. I mens sløjfer kontrolleres tilstand først inden udførelse af udsagn.

3) Gør mens sløjfer

Gør Mens Loop er det samme som Mens loop med kun forskel, kontrolleres denne betingelse efter udførelse af blok af udsagn. Derfor i tilfælde af do while loop udføres udsagn mindst en gang.

Q7: Hvad er en uendelig løkke? Hvordan uendelig løkke erklæres?

Svar: En uendelig løkke løber uden nogen betingelser og løber uendeligt. En uendelig løkke kan brydes ved at definere enhver brudende logik i selve sætningsblokkens krop.

Uendelig løkke erklæres som følger:

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

Q8. Hvad er forskellen mellem fortsæt- og bruderklæring?

Ans: pause og fortsæt er to vigtige nøgleord, der bruges i sløjfer. Når et pause-nøgleord bruges i en løkke, brydes sløjfe med det samme, mens når fortsat nøgleord bruges, er den aktuelle iteration brudt, og loop fortsætter med næste iteration.

I nedenstående eksempel brydes sløjfe, når tælleren når 4.

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

I nedenstående eksempel når tæller når 4, springer loop til næste iteration, og eventuelle udsagn efter det fortsatte nøgleord springes over for den aktuelle 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");}

Q9. Hvad er forskellen mellem dobbelt- og floatvariabler i Java?

Svar: I java tager float 4 byte i hukommelsen, mens Double tager 8 byte i hukommelsen. Flydning er flydende decimal med et enkelt præcision, mens dobbelt er decimal med dobbelt præcision.

Q10. Hvad er sidste nøgleord i Java? Giv et eksempel.

Svar: I java erklæres en konstant ved hjælp af nøgleordet Final. Værdi kan kun tildeles en gang, og efter tildeling kan værdien af ​​en konstant ikke ændres.

I nedenstående eksempel erklæres en konstant med navnet const_val og tildeles avalue:

Privat Final int const_val = 100

Når en metode erklæres som endelig, kan den IKKE tilsidesættes af underklasserne. Denne metode er hurtigere end nogen anden 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 indpakningsklasser.

Q11. Hvad er ternær operatør? Giv et eksempel.

Svar: Ternær operator, også kaldet betinget operator, bruges til at bestemme, hvilken værdi der skal tildeles en variabel baseret på en boolsk værdiansættelse. Det betegnes som?

I nedenstående eksempel, hvis rang er 1, tildeles status værdien "Udført" ellers "Afventer".

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

Spørgsmål 12: Hvordan kan du generere tilfældige tal i Java?

Svar:

  • Ved hjælp af Math.random () kan du generere tilfældige tal i området større end eller lig med 0,1 og mindre end 1,0
  • Brug af tilfældig klasse i pakken java.util

Q13. Hvad er standard switch case? Giv et eksempel.

Svar: I en switch-sætning udføres standardtilfælde, når ingen andre switch-betingelser stemmer overens. Standard sag er en valgfri sag. Den kan kun erklæres, når alle andre switch sager er blevet kodet.

I nedenstående eksempel bruges standardtilstand, når score ikke er 1 eller 2.

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. Hvad er basisklassen i Java, hvorfra alle klasser stammer?

Svar: java.lang.object

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

Svar: I java kan main () -metoden ikke returnere nogen data, og derfor erklæres den altid med en ugyldig returtype.

Q16. Hvad er Java-pakker? Hvad er betydningen af ​​pakker?

Svar: I Java er pakken en samling af klasser og grænseflader, der er samlet, da de er relateret til hinanden. Brug af pakker hjælper udviklere med at modulere koden og gruppere koden til korrekt genbrug. Når koden er pakket i pakker, kan den importeres i andre klasser og bruges.

Q17. Kan vi erklære en klasse som abstrakt uden at have nogen abstrakt metode?

Svar: Ja, vi kan oprette en abstrakt klasse ved at bruge abstrakt nøgleord før klassens navn, selvom det ikke har nogen abstrakt metode. Men hvis en klasse har en enkelt abstrakt metode, skal den erklæres som abstrakt, ellers giver den en fejl.

Q18. Hvad er forskellen mellem en abstrakt klasse og interface i Java?

Svar: Den primære forskel mellem en abstrakt klasse og grænseflade er, at en grænseflade kun kan have erklæring om offentlige statiske metoder uden nogen konkret implementering, mens en abstrakt klasse kan have medlemmer med enhver adgangsspecifikator (offentlig, privat osv.) Med eller uden konkret implementering.

En anden vigtig forskel i brugen af ​​abstrakte klasser og grænseflader er, at en klasse, der implementerer en grænseflade, skal implementere alle metoderne i grænsefladen, mens en klasse, der arver fra en abstrakt klasse, ikke kræver implementering af alle superklassens metoder.

En klasse kan implementere flere grænseflader, men den kan kun udvide en abstrakt klasse.

Q19. Hvad er præstationsimplikationerne af grænseflader over abstrakte klasser?

Svar: Grænseflader er langsommere i ydeevne sammenlignet med abstrakte klasser, da der kræves ekstra omdirigeringer til grænseflader. En anden nøglefaktor for udviklere at tage i betragtning er, at enhver klasse kun kan udvide en abstrakt klasse, mens en klasse kan implementere mange grænseflader.

Brug af grænseflader lægger også en ekstra byrde på udviklerne, når som helst når en grænseflade implementeres i en klasse; udvikleren er tvunget til at implementere hver eneste metode til grænseflade.

Q20. Importerer import af en pakke også sine underpakker i Java?

Svar: I java, når en pakke importeres, importeres dens underpakker ikke, og udvikleren skal importere dem separat, hvis det kræves.

For eksempel, hvis en udvikler importerer et pakkeuniversitet. *, Indlæses alle klasser i pakken med navnet universitet, men ingen klasser fra underpakken indlæses. For at indlæse klasser fra sin underpakke (f.eks. Afdeling) skal udvikleren importere den eksplicit som følger:

Importer universitet. Afdeling. *

Q21. Kan vi erklære den vigtigste metode i vores klasse som privat?

Svar: I java skal hovedmetoden være offentlig statisk for at køre ethvert program korrekt. Hvis hovedmetoden erklæres som privat, får udvikleren ikke nogen kompileringsfejl, men den bliver ikke udført og giver en runtime-fejl.

Q22. Hvordan kan vi overføre argument til en funktion ved hjælp af reference i stedet for passere værdi?

Svar: I java kan vi kun overføre argument til en funktion efter værdi og ikke ved reference.

Q23. Hvordan ser man et objekt i java?

Svar: For at konvertere et objekt til byte-stream ved serialisering i java implementeres en grænseflade med navnet Serializable af klassen. Alle objekter i en klasse, der implementerer seriel grænseflade, bliver serieliserede, og deres tilstand gemmes i byte-stream.

Q24. Hvornår skal vi bruge serialisering?

Svar: Serialisering bruges, når data skal transmitteres over netværket. Ved hjælp af serialisering gemmes objektets tilstand og konverteres til byte stream. Byte stream overføres over netværket, og objektet genskabes igen på destinationen.

Q25. Er det obligatorisk, at en prøveblok følges af en fangstblok i Java til håndtering af undtagelser?

Svar: Prøv blok skal efterfølges af enten fangstblok eller endelig blokering eller begge dele. Enhver undtagelse, der smides fra prøveblok, skal enten fanges i fangstblokken eller ellers specifikke opgaver, der skal udføres, før kodabort anbringes i Endelig-blokken.

Q26. Er der nogen måde at springe over Endelig blok for undtagelse, selvom der findes en undtagelse i undtagelsesblokken?

Svar: Hvis en undtagelse er rejst i Try-blokering, overføres kontrol til fangstblok, hvis den ellers findes for endelig at blokere. Endelig udføres blok altid når en undtagelse opstår, og den eneste måde at undgå udførelse af udsagn i Endelig blok er ved at afbryde koden med magt ved at skrive følgende linje kode i slutningen af ​​prøveblokken:

System.exit(0);

Q27. Når en konstruktør af en klasse påberåbes?

Svar: Konstruktøren af ​​en klasse påberåbes hver gang et objekt oprettes med nyt nøgleord.

For eksempel oprettes i den følgende klasse to objekter ved hjælp af et nyt nøgleord, og derfor kaldes konstruktøren to gange.

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 have flere konstruktører?

Svar: Ja, en klasse kan have flere konstruktører med forskellige parametre. Hvilken konstruktør, der bliver brugt til oprettelse af objekt, afhænger af de argumenter, der er sendt, mens du opretter objekterne.

Q29. Kan vi tilsidesætte statiske metoder i en klasse?

Svar: Vi kan ikke tilsidesætte statiske metoder. Statiske metoder hører til en klasse og ikke til individuelle objekter og løses på tidspunktet for kompilering (ikke ved kørselstid). Selv hvis vi forsøger at tilsidesætte den statiske metode, får vi ikke en komplikationsfejl eller virkningen af ​​tilsidesættelse, når du kører kode.

Q30. I nedenstående eksempel, hvad bliver output?

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 : Output vil være:

Viser fra underklasse

Viser fra superklasse

Q31. Er streng en datatype i java?

Svar: String er ikke en primitiv datatype i java. Når en streng oprettes i java, er det faktisk et objekt af Java.Lang.String-klasse, der bliver oprettet. Efter oprettelsen af ​​dette strengobjekt kan alle indbyggede metoder i klasse String bruges på strengobjektet.

Q32. I nedenstående eksempel, hvor mange strengobjekter oprettes?

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

Svar: I ovenstående eksempel oprettes to objekter af Java.Lang.String-klassen. s1 og s3 er referencer til samme objekt.

Q33. Hvorfor kaldes strenge i Java som uforanderlige?

Svar: I java kaldes strengobjekter uforanderlige, da først en værdi er tildelt en streng, kan den ikke ændres, og hvis den ændres, oprettes et nyt objekt.

I nedenstående eksempel henviser reference str til et strengobjekt med værdien "Værdi en".

String str="Value One";

Når en ny værdi tildeles den, oprettes et nyt strengobjekt, og referencen flyttes til det nye objekt.

str="New Value";

Q34. Hvad er forskellen mellem et array og Vector?

Svar: Et array grupperer data af samme primitive type og er statisk, mens vektorer er dynamiske og kan indeholde data af forskellige datatyper.

Q35. Hvad er multi-threading?

Ans: Multi threading er et programmeringskoncept til at køre flere opgaver samtidigt på et enkelt program. Tråde deler samme processtak og kører parallelt. Det hjælper med at forbedre ydeevnen for ethvert program.

Q36. Hvorfor Runnable Interface bruges i Java?

Ans: Runnable interface bruges i java til implementering af multi threaded applikationer. Java.Lang.Runnable interface er implementeret af en klasse til at understøtte multi threading.

Q37. Hvad er de to måder at implementere multi-threading på Java?

Ans: Multitrådede applikationer kan udvikles i Java ved hjælp af en af ​​følgende to metoder:

1. Ved hjælp af Java.Lang.Runnable Interface. Klasser implementerer denne grænseflade for at muliggøre multi threading. Der er en Run () -metode i denne grænseflade, som er implementeret.

2. Ved at skrive en klasse, der udvider Java.Lang.Thread-klassen.

Q38. Når der kræves mange ændringer i data, hvilken skal der foretrækkes at bruge? String eller StringBuffer?

Svar: Da StringBuffers er dynamiske, og vi kan ændre værdierne på StringBuffer-objekter i modsætning til String, som er uforanderlig, er det altid et godt valg at bruge StringBuffer, når data ændres for meget. Hvis vi bruger String i et sådant tilfælde, oprettes der for hvert dataændring et nyt String-objekt, som vil være en ekstra omkostning.

Q39. Hvad er formålet med at bruge Break i hvert tilfælde af Switch Statement?

Ans: Break bruges efter hvert tilfælde (undtagen det sidste) i en switch, så koden brydes efter den gyldige sag og ikke flyder også i de videre sager.

Hvis pause ikke bruges efter hver sag, bliver alle sager efter den gyldige sag også udført, hvilket resulterer i forkerte resultater.

Q40. Hvordan skraldes indsamling ud i Java?

Svar: I java, når der ikke længere refereres til et objekt, finder affaldsindsamling sted, og objektet ødelægges automatisk. For automatisk skraldopsamling kalder Java enten System.gc () -metoden eller Runtime.gc () -metoden.

Q41. Hvordan kan vi udføre en hvilken som helst kode selv før hovedmetoden?

Svar: Hvis vi vil udføre udsagn, inden der oprettes objekter på klassens indlæsningstid, kan vi bruge en statisk blok af kode i klassen. Eventuelle udsagn inde i denne statiske kodeblok udføres en gang på tidspunktet for indlæsning af klassen, selv før oprettelse af objekter i hovedmetoden.

Q42. Kan en klasse være en superklasse og en underklasse på samme tid? Giv et eksempel.

Svar: Hvis der anvendes et hierarki af arv, kan en klasse være en superklasse for en anden klasse og en underklasse for en anden på samme tid.

I eksemplet nedenfor er kontinentklasse underklasse af verdensklasse, og det er superklasse af landeklasse.

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

Q43. Hvordan oprettes objekter fra en klasse, hvis der ikke er defineret nogen konstruktør i klassen?

Svar: Selvom der ikke er defineret nogen eksplicit konstruktør i en java-klasse, oprettes objekter med succes, da en standardkonstruktør implicit bruges til oprettelse af objekter. Denne konstruktør har ingen parametre.

Q44. Hvordan kan vi i multi-threading sikre, at en ressource ikke bruges af flere tråde samtidigt?

Svar: I multitrådning kan adgang til de ressourcer, der deles mellem flere tråde, styres ved hjælp af synkroniseringskonceptet. Ved hjælp af synkroniseret nøgleord kan vi sikre, at kun en tråd kan bruge delt ressource ad gangen, og andre kun kan få kontrol over ressourcen, når den først er blevet fri for den anden, der bruger den.

Q45. Kan vi kalde konstruktøren af ​​en klasse mere end én gang for et objekt?

Svar: Constructor kaldes automatisk, når vi opretter et objekt ved hjælp af et nyt nøgleord. Det kaldes kun en gang for et objekt på tidspunktet for oprettelse af objekt, og derfor kan vi ikke påberåbe konstruktøren igen for et objekt efter dets oprettelse.

Q46. Der er to klasser med navnet klasseA og klasseB. Begge klasser er i samme pakke. Kan et privat medlem af klasse A få adgang til et objekt af klasse B?

Svar: Private medlemmer af en klasse er ikke tilgængelige uden for klassen, og enhver anden klasse, selv i den samme pakke, har ikke adgang til dem.

Q47. Kan vi have to metoder i en klasse med samme navn?

Svar: Vi kan definere to metoder i en klasse med samme navn, men med forskellige antal / type parametre. Hvilken metode der skal påberåbes, afhænger af de parametre, der er sendt.

For eksempel i klassen nedenfor har vi to udskrivningsmetoder med samme navn, men forskellige parametre. Afhængigt af parametrene kaldes en passende:

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 lave en kopi af et java-objekt?

Ans: Vi kan bruge begrebet kloning til at oprette en kopi af et objekt. Ved hjælp af klon opretter vi kopier med et objekts faktiske tilstand.

Clone () er en metode til Cloneable interface, og Cloneable interface skal derfor implementeres for at lave objektkopier.

Q49. Hvad er fordelen ved at bruge arv?

Svar: Hovedfordelen ved at bruge arv er genanvendelighed af kode, da arv gør det muligt for underklasser at genbruge koden til sin superklasse. Polymorfisme (Extensibility) er en anden stor fordel, som tillader, at ny funktionalitet introduceres uden at påvirke eksisterende afledte klasser.

Q50. Hvad er standardadgangsspecifikatoren for variabler og metoder i en klasse?

Svar: Standardadgangsspecifikator for variabler og metode er pakkebeskyttet, dvs. variabler og klasse er tilgængelig for enhver anden klasse, men i samme pakke, ikke uden for pakken.

Q51. Giv et eksempel på brug af pointer i Java-klasse.

Svar: Der er ingen henvisninger i Java. Så vi kan ikke bruge begrebet markører i Java.

Q52. Hvordan kan vi begrænse arv til en klasse, så ingen klasse kan arves fra den?

Svar: Hvis vi ønsker, at en klasse ikke skal udvides yderligere med nogen klasse, kan vi bruge nøgleordet Final med klassens navn.

I det følgende eksempel er stenklassen endelig og kan ikke forlænges

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

Q53. Hvad er adgangsområdet for Specified Access-specifikatoren?

Svar: Når en metode eller en variabel erklæres med Protected access specifier, bliver den tilgængelig i samme klasse, enhver anden klasse af den samme pakke såvel som 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. Hvad er forskellen mellem stak og kø?

Svar: Stak og kø bruges begge som pladsholder til en indsamling af data. Den primære forskel mellem en stak og en kø er, at stakken er baseret på LIFO-princippet Last in First out, mens en kø er baseret på FIFO-princippet (First In First Out).

Q55. Hvordan kan vi i java ikke tillade serialisering af variabler?

Svar: Hvis vi ønsker, at bestemte variabler i en klasse ikke skal serialiseres, kan vi bruge nøgleordet forbigående, mens vi erklærer dem. For eksempel er variablen 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 bruge primitive datatyper som objekter?

Svar: Primitive datatyper som int kan håndteres som objekter ved hjælp af deres respektive indpakningsklasser. For eksempel er heltal en indpakningsklasse til primitiv datatype int. Vi kan anvende forskellige metoder til en indpakningsklasse, ligesom ethvert andet objekt.

Q57. Hvilke typer undtagelser fanges på kompileringstidspunktet?

Svar: Kontrollerede undtagelser kan fanges på tidspunktet for programudarbejdelsen. Kontrollerede undtagelser skal håndteres ved hjælp af prøvefangstblok i koden for at kunne kompilere koden.

Q58. Beskriv forskellige tilstande for en tråd.

Svar: En tråd i Java kan være i en af ​​følgende tilstande:

  • Klar: Når en tråd oprettes, er den i Klar-tilstand.
  • Kører: En tråd, der aktuelt udføres, er i kørende tilstand.
  • Venter: En tråd, der venter på en anden tråd for at frigøre bestemte ressourcer, er i ventetilstand.
  • Død: En tråd, der er gået død efter henrettelsen, er i død tilstand.

Q59. Kan vi bruge en standardkonstruktør til en klasse, selvom der er defineret en eksplicit konstruktør?

Svar: Java giver en standardkonstruktør uden argument, hvis der ikke er defineret nogen eksplicit konstruktør i en Java-klasse. Men hvis en eksplicit konstruktør er defineret, kan standardkonstruktør ikke påberåbes, og udvikler kan kun bruge de konstruktører, der er defineret i klassen.

Q60. Kan vi tilsidesætte en metode ved hjælp af samme metodenavn og argumenter, men forskellige returtyper?

Svar: Den grundlæggende betingelse for metodeoverstyring er, at metodens navn, argumenter såvel som returtype skal være nøjagtigt de samme som for metoden, der tilsidesættes. Brug af en anden returtype tilsidesætter derfor ikke en metode.

Q61.Hvad vil output af følgende stykke kode?

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

Svar: I dette tilfælde bruges postfix ++ operatør, som først returnerer værdien og derefter trin. Derfor er dens output 4.

Q61. En person siger, at han lavede en java-klasse med succes uden engang at have en hovedmetode i den? Er det muligt?

Ans: hovedmetoden er et indgangspunkt i Java-klassen og kræves dog til udførelse af programmet; en klasse bliver samlet med succes, selvom den ikke har en hovedmetode. Det kan dog ikke køres.

Q62. Kan vi kalde en ikke-statisk metode indefra en statisk metode?

Ans: Ikke-statiske metoder ejes af objekter i en klasse og har omfang på objektniveau, og for at kalde de ikke-statiske metoder fra en statisk blok (som fra en statisk hovedmetode), skal der oprettes et objekt i klassen først. Ved hjælp af objektreference kan disse metoder påberåbes.

Q63. Hvad er de to miljøvariabler, der skal indstilles for at køre Java-programmer?

Svar: Java-programmer kan kun udføres på en maskine, når to miljøvariabler er indstillet korrekt:

  1. PATH-variabel
  2. CLASSPATH variabel

Q64. Kan variabler bruges i Java uden initialisering?

Svar: I Java, hvis en variabel bruges i en kode uden forudgående initialisering af en gyldig værdi, kompilerer programmet ikke og giver en fejl, da der ikke er tildelt nogen standardværdier til variabler i Java.

Q65. Kan en klasse i Java arves fra mere end en klasse?

Svar: I Java kan en klasse kun afledes fra en klasse og ikke fra flere klasser. Flere arv understøttes ikke af Java.

Q66. Kan en konstruktør have et andet navn end et klassenavn i Java?

Svar: Konstruktør i Java skal have samme navn som klassens navn, og hvis navnet er anderledes, fungerer det ikke som en konstruktør, og kompilatoren betragter det som en normal metode.

Q67. Hvad vil output af runde (3.7) og Ceil (3.7) være?

Svar: Runde (3.7) returnerer 4 og Ceil (3.7) returnerer 4.

Q68: Kan vi bruge goto i Java til at gå til en bestemt linje?

Svar: I Java er der ikke goto-nøgleord, og java understøtter ikke denne funktion ved at gå til en bestemt mærket linje.

Q69. Kan en død tråd startes igen?

Svar: I java kan en tråd, der er i død tilstand, ikke startes igen. Der er ingen måde at genstarte en død tråd på.

Q70. Er følgende klassedeklaration korrekt?

Svar:

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

Svar: Ovennævnte klassedeklaration er forkert, da en abstrakt klasse ikke kan erklæres som endelig.

Q71. Er JDK påkrævet på hver maskine for at køre et Java-program?

Svar: JDK er udviklingssæt af Java og kræves kun til udvikling og for at køre et Java-program på en maskine, er JDK ikke påkrævet. Kun JRE kræves.

Q72. Hvad er forskellen mellem sammenligning udført med lig metode og == operator?

Ans: I Java bruges metoden lig () til at sammenligne indholdet af to strengobjekter og returnerer sand, hvis de to har samme værdi, mens operatoren == sammenligner referencerne for to strengobjekter.

I det følgende eksempel returnerer lig () sandt, da de to strengobjekter har samme værdier. Imidlertid returnerer == operator falsk, da begge strengobjekter henviser til forskellige 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 muligt at definere en metode i Java-klasse, men give den implementering i koden på et andet sprog som C?

Ans: Ja, vi kan gøre dette ved hjælp af native metoder. I tilfælde af native metodebaseret udvikling definerer vi offentlige statiske metoder i vores Java-klasse uden implementering, og derefter udføres implementering på et andet sprog som C separat.

Q74. Hvordan defineres destruktører i Java?

Svar: I Java er der ikke defineret nogen destruktører i klassen, da der ikke er behov for det. Java har sin egen skraldopsamlingsmekanisme, som gør jobbet automatisk ved at ødelægge objekterne, når de ikke længere refereres til.

Q75. Kan en variabel være lokal og statisk på samme tid?

Svar: Nej, en variabel kan ikke være statisk såvel som lokal på samme tid. Definition af en lokal variabel som statisk giver kompileringsfejl.

Q76. Kan vi have statiske metoder i et interface?

Ans: Statiske metoder kan ikke tilsidesættes i nogen klasse, mens metoder i en grænseflade som standard er abstrakte og formodes at blive implementeret i de klasser, der implementerer grænsefladen. Så det giver ingen mening at have statiske metoder i en grænseflade i Java.

Q77. I en klasse, der implementerer en grænseflade, kan vi ændre værdien af ​​en hvilken som helst variabel, der er defineret i grænsefladen?

Svar: Nej, vi kan ikke ændre værdien af ​​en variabel i en grænseflade i implementeringsklassen, da alle variabler defineret i grænsefladen som standard er offentlige, statiske og endelige og endelige variabler er som konstanter, som ikke kan ændres senere.

Q78. Er det korrekt at sige, at et java-program på grund af skraldindsamlingsfunktionen i Java aldrig går ud af hukommelse?

Ans: Selvom automatisk skraldopsamling leveres af Java, sikrer det ikke, at et Java-program ikke går ud af hukommelse, da der er en mulighed for, at oprettelse af Java-objekter sker i et hurtigere tempo sammenlignet med skraldindsamling, hvilket resulterer i udfyldning af alle de tilgængelige hukommelsesressourcer.

Så affaldsindsamling hjælper med at reducere chancerne for, at et program går ud af hukommelse, men det sikrer det ikke.

Q79. Kan vi have nogen anden returtype end ugyldig for hovedmetoden?

Svar: Nej, Java-klassens hovedmetode kan kun have ugyldig returtype for, at programmet bliver udført med succes.

Ikke desto mindre, hvis du absolut skal returnere en værdi til ved afslutningen af ​​hovedmetoden, kan du bruge System.exit (int-status)

Q80. Jeg ønsker at nå frem til og bruge et objekt, når det er blevet indsamlet skrald. Hvordan er det muligt?

Ans: Når en genstand er blevet ødelagt af affaldssamleren, findes den ikke længere på bunken, og den kan ikke åbnes igen. Der er ingen måde at henvise til det igen.

Q81. Hvilken metode er en must-implementering i alle tråde i Java-trådprogrammering?

Ans: Run () er en metode til Runnable-interface, der skal implementeres af alle tråde.

Q82. Jeg vil kontrollere databaseforbindelser i mit program og ønsker, at kun en tråd skal være i stand til at oprette databaseforbindelse ad gangen. Hvordan kan jeg implementere denne logik?

Ans: Dette kan implementeres ved hjælp af begrebet synkronisering. Databaserelateret kode kan placeres i en metode, der har synkroniseret nøgleord, så kun en tråd kan få adgang til det ad gangen.

Q83. Hvordan kan en undtagelse kastes manuelt af en programmør?

Svar: For at kaste en undtagelse i en kode kode manuelt bruges kast nøgleord. Derefter fanges denne undtagelse og håndteres 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 min klasse skal udvikles på en sådan måde, at ingen anden klasse (endda afledt klasse) kan skabe sine objekter. Hvordan kan jeg gøre det?

Svar: Hvis vi erklærer konstruktøren af ​​en klasse som privat, vil den ikke være tilgængelig for nogen anden klasse, og derfor vil ingen anden klasse være i stand til at instantiere den, og dannelsen af ​​dens objekt vil kun være begrænset til sig selv.

Q85. Hvordan gemmes objekter i Java?

Svar: I java får hvert objekt, når det oprettes, et hukommelsesrum fra en bunke. Når en genstand ødelægges af en affaldssamler, allokeres pladsen til den fra bunken igen til bunken og bliver tilgængelig for nye objekter.

Q86. Hvordan kan vi finde den faktiske størrelse af et objekt på bunken?

Svar: I java er der ingen måde at finde ud af den nøjagtige størrelse af et objekt på bunken.

Q87. Hvilke af de følgende klasser får mere hukommelse tildelt?

Klasse A: Tre metoder, fire variabler, intet objekt

Klasse B: Fem metoder, tre variabler, intet objekt

Svar: Hukommelse tildeles ikke før oprettelse af objekter. Da der for begge klasser ikke er oprettet nogen objekter, så der tildeles ingen hukommelse på bunken til nogen klasse.

Q88. Hvad sker der, hvis en undtagelse ikke håndteres i et program?

Svar: Hvis en undtagelse ikke håndteres i et program ved hjælp af prøvefangstblokke, afbrydes programmet, og ingen erklæring udføres efter udsagnet, der forårsagede undtagelseskastning.

Q89. Jeg har flere konstruktører defineret i en klasse. Er det muligt at kalde en konstruktør fra en anden konstruktørs krop?

Svar: Hvis en klasse har flere konstruktører, er det muligt at kalde en konstruktør fra kroppen til en anden ved hjælp af dette () .

Q90. Hvad menes med anonym klasse?

Ans: En anonym klasse er en klasse defineret uden noget navn i en enkelt kode kode ved hjælp af nyt nøgleord.

For eksempel har vi i nedenstående kode defineret 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 der en måde at øge størrelsen på en matrix efter dens erklæring?

Ans: Arrays er statiske, og når vi har angivet størrelsen, kan vi ikke ændre det. Hvis vi vil bruge sådanne samlinger, hvor vi muligvis kræver en ændring af størrelse (antal varer), bør vi foretrække vektor frem for matrix.

Q92. Hvis en applikation har flere klasser i sig, er det okay at have en hovedmetode i mere end en klasse?

Svar: Hvis der er hovedmetode i mere end en klasse i en java-applikation, forårsager det ikke noget problem, da indgangspunktet for enhver applikation vil være en bestemt klasse, og koden starter kun fra hovedmetoden for den pågældende klasse.

Q93. Jeg vil fastholde data om objekter til senere brug. Hvad er den bedste tilgang til at gøre det?

Ans: Den bedste måde at vedvare data til fremtidig brug er at bruge begrebet serialisering.

Q94. Hvad er en lokal klasse i Java?

Ans: Hvis vi definerer en ny klasse inden for en bestemt blok i Java, kaldes det en lokal klasse. En sådan klasse har lokalt anvendelsesområde og kan ikke bruges uden for blokken, hvor den er defineret.

Q95. String og StringBuffer repræsenterer begge String-objekter. Kan vi sammenligne String og StringBuffer i Java?

Svar: Selvom String og StringBuffer begge repræsenterer String-objekter, kan vi ikke sammenligne dem med hinanden, og hvis vi prøver at sammenligne dem, får vi en fejl.

Q96. Hvilket API leveres af Java til operationer på sæt objekter?

Ans: Java tilbyder en Collection API, der giver mange nyttige metoder, der kan anvendes på et sæt objekter. Nogle af de vigtige klasser, der leveres af Collection API, inkluderer ArrayList, HashMap, TreeSet og TreeMap.

Q97. Kan vi støbe enhver anden type til boolsk type med type støbning?

Svar: Nej, vi kan hverken kaste nogen anden primitiv type til boolsk datatype eller caste boolske datatype til nogen anden primitiv datatype.

Q98. Kan vi bruge forskellige returtyper til metoder, når de tilsidesættes?

Svar: Det grundlæggende krav til metodeoverstyring i Java er, at den tilsidesatte metode skal have samme navn og parametre, men en metode kan tilsidesættes med en anden returtype, så længe den nye returtype udvider originalen.

For eksempel returnerer metoden en referencetype.

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

Q99. Hvad er basisklassen for alle undtagelsesklasser?

Svar: I Java er Java.lang.Throwable superklassen for alle undtagelsesklasser, og alle undtagelsesklasser stammer fra denne basisklasse.

Q100. Hvad er rækkefølgen af ​​konstruktører i arv?

Ans: I tilfælde af arv, når der oprettes et nyt objekt fra en afledt klasse, påberåbes først konstruktøren af ​​superklassen, og derefter kaldes konstruktøren for den afledte klasse.

Forbered dig på dit jobinterview !!! Gå gennem Java Tutorial for at være bedre forberedt.

Denne detaljerede Java-interviewspørgsmål pdf hjælper dig med at fjerne tvivlen om Java-interviewspørgsmål og vil også hjælpe dig med at knække interviewet.