100+ Java Interviewvragen en antwoorden (2024)
Java Programmering Interviewvragen en antwoorden voor eerstejaarsstudenten
1) Wat is het verschil tussen een binnenklasse en een subklasse?
Een Inner-klasse is een klasse die is genest in een andere klasse. Een Inner-klasse heeft toegangsrechten voor de klasse waarin deze wordt genest en heeft toegang tot alle variabelen en methoden die in de buitenste klasse zijn gedefinieerd.
Een subklasse is een klasse die erft van een andere klasse, de superklasse. Subklasse heeft toegang tot alle openbare en beschermde methoden en velden van zijn superklasse.
👉Gratis PDF-download: Java Interview Interviewvragen en antwoorden >>
2) Waar dienen de verschillende toegangsspecificaties voor? Java klassen?
In Java, toegangsspecificaties zijn de sleutelwoorden die worden gebruikt vóór een klassenaam die het toegangsbereik definieert. De typen toegangsspecificaties voor klassen zijn:
1) Openbaar: Klasse, Methode, Veld is overal toegankelijk.
2) Beschermd: Method,Field is toegankelijk vanuit dezelfde klasse waartoe ze behoren of vanuit de subklassen, en vanuit de klasse van hetzelfde pakket, maar niet van buitenaf.
3) Standaard: Method,Field,class is alleen toegankelijk vanuit hetzelfde pakket en niet van buiten het eigen pakket.
4) Privé: Method,Field is toegankelijk vanuit dezelfde klasse waartoe ze behoren.
3) Wat is het doel van statische methoden en statische variabelen?
Wanneer er een vereiste is om een methode of een variabele te delen tussen meerdere objecten van een klasse in plaats van afzonderlijke kopieën te maken voor elk object, gebruiken we een statisch trefwoord om een methode of variabele gedeeld te maken voor alle objecten.
4) Wat is data-inkapseling en wat is de betekenis ervan?
Inkapseling is een concept in Object Oriented Programming voor het combineren van eigenschappen en methoden in een enkele eenheid.
Inkapseling helpt programmeurs een modulaire aanpak voor softwareontwikkeling te volgen, aangezien elk object zijn eigen set methoden en variabelen heeft en zijn functies onafhankelijk van andere objecten vervult. Inkapseling dient ook voor het verbergen van gegevens.
5) Wat is een singleton-klasse? Geef een praktisch voorbeeld van het gebruik ervan.
Een singleton-klasse in Java kan slechts één instantie hebben en daarom behoren al zijn methoden en variabelen tot slechts één instantie. Het Singleton-klasseconcept is nuttig voor situaties waarin het nodig is om het aantal objecten voor een klasse te beperken.
Het beste voorbeeld van een singleton-gebruiksscenario is wanneer er een limiet is voor slechts één verbinding met een database vanwege bepaalde stuurprogrammabeperkingen of vanwege licentieproblemen.
6) Wat zijn lussen? Java? Wat zijn drie soorten lussen?
Looping wordt bij het programmeren gebruikt om een instructie of een instructieblok herhaaldelijk uit te voeren. Er zijn er drie soorten lussen in Java:
1) Voor lussen
For-lussen worden in Java gebruikt om instructies een bepaald aantal keren herhaaldelijk uit te voeren. For-lussen worden gebruikt wanneer het aantal keren dat de instructies moeten worden uitgevoerd bekend is bij de programmeur.
2) While-lussen
While-lus wordt gebruikt wanneer bepaalde instructies herhaaldelijk moeten worden uitgevoerd totdat aan een voorwaarde is voldaan. In while-lussen wordt de voorwaarde eerst gecontroleerd voordat instructies worden uitgevoerd.
3) Doe While-lussen
Do While Loop is hetzelfde als While-lus, met alleen het verschil dat de voorwaarde wordt gecontroleerd na uitvoering van het blok met instructies. Daarom worden in het geval van een do while-lus de instructies minstens één keer uitgevoerd.
7) Wat is een oneindige lus? Hoe oneindige lus wordt verklaard?
Een oneindige lus loopt zonder enige voorwaarde en loopt oneindig. Een oneindige lus kan worden doorbroken door een eventuele brekende logica in de hoofdtekst van de instructieblokken te definiëren.
Oneindige lus wordt als volgt gedeclareerd:
for (;;) { // Statements to execute // Add any loop breaking logic }
8) Wat is het verschil tussen de continue- en break-instructie?
break en continue zijn twee belangrijke trefwoorden die in Loops worden gebruikt. Wanneer een break-trefwoord in een lus wordt gebruikt, wordt de lus onmiddellijk verbroken, terwijl wanneer het continue-trefwoord wordt gebruikt, de huidige iteratie wordt verbroken en de lus doorgaat met de volgende iteratie.
In het onderstaande voorbeeld wordt de lus verbroken wanneer de teller 4 bereikt.
for (counter = 0; counter & lt; 10; counter++) system.out.println(counter); if (counter == 4) { break; } }
In het onderstaande voorbeeld, wanneer de teller 4 bereikt, springt de lus naar de volgende iteratie en worden alle uitspraken na het trefwoord continue overgeslagen voor de huidige iteratie.
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"); }
9) Wat is het verschil tussen dubbele en float-variabelen in Java?
In Java neemt float 4 bytes in geheugen in beslag Double neemt 8 bytes geheugen in beslag. Float is een decimaal getal met enkele precisie en drijvende komma Double is een decimaal getal met dubbele precisie.
10) Wat is het uiteindelijke zoekwoord? Java? Geef een voorbeeld.
In Java wordt een constante gedeclareerd met het trefwoord Final. Waarde kan slechts één keer worden toegewezen en na toewijzing kan de waarde van een constante niet worden gewijzigd.
In het onderstaande voorbeeld wordt een constante met de naam const_val gedeclareerd en wordt er een waarde aan toegewezen:
Privé Finale int const_val=100
Wanneer een methode als definitief wordt gedeclareerd, kan deze NIET worden overschreven door de subklassen. Deze methode is sneller dan welke andere methode dan ook, omdat ze op het juiste moment worden opgelost.
Wanneer een klasse als final wordt gedeclareerd, kan deze niet worden gesubclassificeerd. Voorbeeld String, Integer en andere wrapper-klassen.
11) Wat is een ternaire operator? Geef een voorbeeld.
Ternaire operator, ook wel voorwaardelijke operator genoemd, wordt gebruikt om te beslissen welke waarde aan een variabele moet worden toegewezen op basis van een Booleaanse waarde-evaluatie. Het wordt aangeduid als ?
In het onderstaande voorbeeld, als de rang 1 is, krijgt de status de waarde 'Gereed' en anders 'In behandeling'.
public class conditionTest { public static void main(String args[]) { String status; int rank = 3; status = (rank == 1) ? "Done" : "Pending"; System.out.println(status); } }
12) Hoe kun je willekeurige getallen genereren in Java?
- Met behulp van Math.random() kunt u willekeurige getallen genereren in het bereik groter dan of gelijk aan 0.1 en kleiner dan 1.0
- Random-klasse gebruiken in pakket java.util
13) Wat is een standaard schakelkast? Geef voorbeeld.
In een switch-instructie, wordt standaardgeval uitgevoerd als geen enkele andere schakelvoorwaarde overeenkomt. Het standaardgeval is een optioneel geval. Het kan pas worden gedeclareerd nadat alle andere schakelgevallen zijn gecodeerd.
In het onderstaande voorbeeld wordt standaard hoofdlettergebruik gebruikt als de score niet 1 of 2 is.
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"); } } }
14) Wat is de basisklasse? Java waarvan alle klassen zijn afgeleid?
java.lang.object
15) Can main()-methode in Java kan ik gegevens retourneren?
In Java kan de methode main() geen gegevens retourneren en daarom wordt deze altijd gedeclareerd met het return-type void.
16) Wat zijn Java Pakketten? Wat is de betekenis van pakketten?
In Java, pakket is een verzameling klassen en interfaces die zijn gebundeld omdat ze aan elkaar gerelateerd zijn. Het gebruik van pakketten helpt ontwikkelaars de code te modulariseren en de code te groeperen voor correct hergebruik. Zodra de code in Packages is verpakt, kan deze in andere klassen worden geïmporteerd en gebruikt.
17) Kunnen we een klasse als abstract declareren zonder dat er een abstracte methode is?
Ja, we kunnen een abstracte klasse maken door het trefwoord abstract te gebruiken voor de klassenaam, zelfs als deze geen abstracte methode heeft. Als een klasse echter ook maar één abstracte methode heeft, moet deze als abstract worden gedeclareerd, anders geeft dit een foutmelding.
18) Wat is het verschil tussen een abstracte klasse en een interface in Java?
Het belangrijkste verschil tussen een abstracte klasse en interface is dat een interface alleen declaratie van openbare statische methoden kan bezitten zonder concrete implementatie, terwijl een abstracte klasse leden kan hebben met toegangsspecificaties (openbaar, privé enz.) met of zonder concrete implementatie.
Een ander belangrijk verschil in het gebruik van abstracte klassen en interfaces is dat een klasse die een interface implementeert alle methoden van de interface moet implementeren, terwijl een klasse die erft van een abstracte klasse niet de implementatie van alle methoden van zijn superklasse vereist.
Een klasse kan meerdere interfaces implementeren, maar kan slechts één abstracte klasse uitbreiden.
19) Wat zijn de prestatie-implicaties van interfaces ten opzichte van abstracte klassen?
Interfaces presteren langzamer in vergelijking met abstracte klassen, omdat er extra indirecties nodig zijn voor interfaces. Een andere belangrijke factor waarmee ontwikkelaars rekening moeten houden, is dat elke klasse slechts één abstracte klasse kan uitbreiden, terwijl een klasse vele interfaces kan implementeren.
Het gebruik van interfaces legt ook een extra last op voor de ontwikkelaars, aangezien elke keer dat een interface in een klasse wordt geïmplementeerd; ontwikkelaar wordt gedwongen om elke interfacemethode te implementeren.
20) Importeert een pakket ook de subpakketten ervan? Java?
Wanneer in Java een pakket wordt geïmporteerd, worden de subpakketten ervan niet geïmporteerd en moet de ontwikkelaar deze indien nodig afzonderlijk importeren.
Als een ontwikkelaar bijvoorbeeld een pakket universiteit.* importeert, worden alle klassen in het pakket met de naam universiteit geladen, maar worden er geen klassen uit het subpakket geladen. Om de klassen uit het subpakket (bijvoorbeeld afdeling) te laden, moet de ontwikkelaar deze expliciet als volgt importeren:
Importeer universiteit.afdeling.*
21) Kunnen we de hoofdmethode van onze klasse als privé verklaren?
In Java moet de hoofdmethode openbaar statisch zijn om elke toepassing correct te kunnen uitvoeren. Als de hoofdmethode als privé wordt gedeclareerd, krijgt de ontwikkelaar geen compilatiefout. Deze wordt echter niet uitgevoerd en geeft een runtimefout.
22) Hoe kunnen we argumenten doorgeven aan een functie door middel van verwijzing in plaats van waarde door te geven?
In Java kunnen we argumenten alleen aan een functie doorgeven op basis van waarde en niet op basis van verwijzing.
23) Hoe wordt een object geserialiseerd in Java?
Om in Java een object door serialisatie naar een bytestream te converteren, wordt door de klasse een interface met de naam Serializable geïmplementeerd. Alle objecten van een klasse die een serialiseerbare interface implementeert, worden geserialiseerd en hun status wordt opgeslagen in een bytestroom.
24) Wanneer moeten we serialisatie gebruiken?
Serialisatie wordt gebruikt wanneer gegevens via het netwerk moeten worden verzonden. Met behulp van serialisatie wordt de status van het object opgeslagen en omgezet in bytestream. De bytestream wordt via het netwerk overgedragen en het object wordt opnieuw gemaakt op de bestemming.
25) Is het verplicht dat een Try Block gevolgd wordt door een Catch Block in? Java voor afhandeling van uitzonderingen?
Het Try-blok moet worden gevolgd door Catch-blok of Eindelijk-blok of beide. Elke uitzondering die vanuit het try-blok wordt gegenereerd, moet ofwel in het catch-blok worden opgevangen, anders moeten specifieke taken worden uitgevoerd voordat de code-abortus in het Final-blok wordt geplaatst.
Java Interviewvragen en antwoorden voor ervaren
26) Is er een manier om het blok met uitzonderingen ten slotte over te slaan, zelfs als er een uitzondering optreedt in het uitzonderingsblok?
Als er een uitzondering optreedt in het Try-blok, gaat de besturing naar het catch-blok als het bestaat, anders naar het finally-blok. Het Finally-blok wordt altijd uitgevoerd als er een uitzondering optreedt en de enige manier om uitvoering van statements in het Finally-blok te voorkomen, is door de code geforceerd af te breken door de volgende regel code aan het einde van het try-blok te schrijven:
System.exit(0);
27) Wanneer de constructor van een klasse wordt aangeroepen?
De constructor van een klasse wordt elke keer aangeroepen wanneer een object met een nieuw trefwoord wordt gemaakt.
In de volgende klasse worden bijvoorbeeld twee objecten gemaakt met behulp van het trefwoord new en wordt de constructor daarom twee keer aangeroepen.
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(); } }
28) Kan een klasse meerdere constructors hebben?
Ja, een klasse kan meerdere constructors met verschillende parameters hebben. Welke constructor wordt gebruikt voor het maken van objecten, hangt af van de argumenten die worden doorgegeven tijdens het maken van de objecten.
29) Kunnen we de statische methoden van een klasse overschrijven?
We kunnen statische methoden niet terzijde schuiven. Statische methoden behoren tot een klasse en niet tot individuele objecten en worden opgelost op het moment van compilatie (niet tijdens runtime). Zelfs als we de statische methode proberen te overschrijven, krijgen we geen voltooiingsfout, noch de impact van het overschrijven bij het uitvoeren van de code.
30) Wat zal in het onderstaande voorbeeld de uitvoer zijn?
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(); } }
ans: Uitvoer zal zijn:
Weergave vanuit subklasse
Afdrukken vanuit superklasse
31) Is String een gegevenstype in Java?
String is geen primitief gegevenstype in Java. Wanneer een string in Java wordt gemaakt, is het eigenlijk een object van Java.Lang.String-klasse die wordt gemaakt. Nadat dit stringobject is gemaakt, kunnen alle ingebouwde methoden van de klasse String op het stringobject worden gebruikt.
32) Hoeveel String Objects zijn er in het onderstaande voorbeeld gemaakt?
String s1="I am Java Expert"; String s2="I am C Expert"; String s3="I am Java Expert";
In het bovenstaande voorbeeld zijn twee objecten van Java.Lang.String-klasse is gemaakt. s1 en s3 zijn verwijzingen naar hetzelfde object.
33) Waarom snaren erin Java worden onveranderlijk genoemd?
In Java worden stringobjecten onveranderlijk genoemd, omdat zodra de waarde aan een string is toegewezen, deze niet meer kan worden gewijzigd en als deze wordt gewijzigd, wordt er een nieuw object gemaakt.
In het onderstaande voorbeeld verwijst referentie str naar een stringobject met de waarde “Waarde één”.
String str="Value One";
Wanneer er een nieuwe waarde aan wordt toegewezen, wordt er een nieuw String-object gemaakt en wordt de verwijzing naar het nieuwe object verplaatst.
str="New Value";
34) Wat is het verschil tussen een array en een vector?
Een array groepeert gegevens van hetzelfde primitieve type en is statisch van aard, terwijl vectoren dynamisch van aard zijn en gegevens van verschillende gegevenstypen kunnen bevatten.
35) Wat is multithreading?
Multithreading is een programmeerconcept om meerdere taken gelijktijdig binnen één programma uit te voeren. Threads delen dezelfde processtack en worden parallel uitgevoerd. Het helpt bij het verbeteren van de prestaties van elk programma.
36) Waarom Runnable Interface wordt gebruikt Java?
Runnable interface wordt in Java gebruikt voor het implementeren van multithreaded applicaties. JavaDe .Lang.Runnable-interface wordt door een klasse geïmplementeerd om multi-threading te ondersteunen.
37) Wat zijn de twee manieren om multi-threading te implementeren? Java?
Er kunnen toepassingen met meerdere threads worden ontwikkeld Java door gebruik te maken van een van de volgende twee methodologieën:
1) Door te gebruiken JavaTaal-uitvoerbare interface. Klassen implementeren deze interface om multi-threading mogelijk te maken. Er is een Run()-methode in deze interface die is geïmplementeerd.
2) Door een klasse te schrijven die zich uitstrekt Java.Lang.Thread-klasse.
38) Wanneer er veel veranderingen in de gegevens nodig zijn, welke zou dan de voorkeur moeten krijgen? String of StringBuffer?
Sinds StringBuffers zijn dynamisch van aard en we kunnen de waarden van String wijzigenBuffer objecten, in tegenstelling tot String, dat onveranderlijk is, is het altijd een goede keuze om String te gebruikenBuffer wanneer gegevens te veel worden gewijzigd. Als we in zo'n geval String gebruiken, wordt voor elke gegevenswijziging een nieuw String-object gemaakt, wat een extra overhead zal zijn.
39) Wat is het doel van het gebruik van Break in elk geval van Switch Statement?
Break wordt na elk geval (behalve het laatste) in een switch gebruikt, zodat de code na het geldige geval wordt afgebroken en niet ook in de vervolggevallen doorloopt.
Als break niet na elk geval wordt gebruikt, worden alle gevallen na het geldige geval ook uitgevoerd, wat resulteert in verkeerde resultaten.
40) Hoe de afvalinzameling plaatsvindt Java?
Wanneer in Java niet meer naar een object wordt verwezen, afvalinzameling vindt plaats en het object wordt automatisch vernietigd. Voor automatische garbage collection roept java de System.gc() methode of de Runtime.gc() methode aan.
41) Hoe kunnen we code uitvoeren, zelfs vóór de hoofdmethode?
Als we instructies willen uitvoeren voordat er zelfs maar objecten worden gemaakt tijdens het laden van de klasse, kunnen we een statisch codeblok in de klasse gebruiken. Alle instructies binnen dit statische codeblok worden één keer uitgevoerd op het moment dat de klasse wordt geladen, zelfs vóór het maken van objecten in de hoofdmethode.
42) Kan een klasse tegelijkertijd een superklasse en een subklasse zijn? Geef voorbeeld.
Als er een overervingshiërarchie wordt gebruikt, kan een klasse tegelijkertijd een superklasse voor een andere klasse en een subklasse voor een andere klasse zijn.
In het onderstaande voorbeeld is de continentklasse de subklasse van de wereldklasse en de superklasse van de landklasse.
public class world { .......... } public class continenet extends world { ............ } public class country extends continent { ...................... }
43) Hoe worden objecten van een klasse gemaakt als er geen constructor in de klasse is gedefinieerd?
Zelfs als er geen expliciete constructor is gedefinieerd in een Java-klasse, worden objecten met succes gemaakt, omdat impliciet een standaardconstructor wordt gebruikt voor het maken van objecten. Deze constructor heeft geen parameters.
44) Hoe kunnen we bij multithreading ervoor zorgen dat een resource niet door meerdere threads tegelijkertijd wordt gebruikt?
Bij multithreading kan de toegang tot de bronnen die worden gedeeld tussen meerdere threads worden beheerd door gebruik te maken van het concept van synchronisatie. gesynchroniseerd trefwoord, kunnen we ervoor zorgen dat slechts één thread tegelijk gedeelde bronnen kan gebruiken en dat anderen pas controle over de bron kunnen krijgen zodra deze vrij is geworden van de andere die er gebruik van maakt.
45) Kunnen we de constructor van een klasse meerdere keren aanroepen voor een object?
Constructor wordt automatisch aangeroepen wanneer we een object maken met behulp van een nieuw trefwoord. Het wordt slechts één keer aangeroepen voor een object op het moment dat het object wordt gemaakt en daarom kunnen we de constructor niet opnieuw aanroepen voor een object nadat het is gemaakt.
46) Er zijn twee klassen genaamd klasse A en klasse B. Beide lessen zitten in hetzelfde pakket. Kan een privélid van klasse A toegankelijk zijn voor een object van klasse B?
Privéleden van een klasse zijn niet toegankelijk buiten het bereik van die klasse en andere klassen, zelfs in hetzelfde pakket, hebben er geen toegang toe.
47) Kunnen we twee methoden in een klasse hebben met dezelfde naam?
We kunnen twee methoden definiëren in een klasse met dezelfde naam maar met een verschillend aantal/type parameters. Welke methode moet worden aangeroepen, hangt af van de doorgegeven parameters.
In de onderstaande klasse hebben we bijvoorbeeld twee afdrukmethoden met dezelfde naam maar met verschillende parameters. Afhankelijk van de parameters wordt de juiste parameter genoemd:
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"); } }
48) Hoe kunnen we een kopie maken van een Java-object?
We kunnen het concept van klonen gebruiken om een kopie van een object te maken. Met kloon maken we kopieën van de werkelijke staat van een object.
Clone() is een methode voor de Cloneable-interface en daarom moet de Cloneable-interface worden geïmplementeerd voor het maken van objectkopieën.
49) Wat is het voordeel van het gebruik van overerving?
Het belangrijkste voordeel van het gebruik van overerving is de herbruikbaarheid van code, aangezien overerving subklassen in staat stelt de code van de superklasse opnieuw te gebruiken. Polymorfisme (uitbreidbaarheid) is een ander groot voordeel waarmee nieuwe functionaliteit kan worden geïntroduceerd zonder bestaande afgeleide klassen te beïnvloeden.
50) Wat is de standaard toegangsspecificatie voor variabelen en methoden van een klasse?
De standaardtoegangsspecificatie voor variabelen en methode is pakketbeveiligd, dwz variabelen en klasse zijn beschikbaar voor elke andere klasse, maar in hetzelfde pakket, niet buiten het pakket.
51) Geef een voorbeeld van het gebruik van Pointers in Java klasse.
Er staan geen aanwijzingen in Java. We kunnen dus geen concept van verwijzingen gebruiken Java.
52) Hoe kunnen we de overerving van een klasse beperken, zodat geen enkele klasse ervan kan worden geërfd?
Als we willen dat een klasse door geen enkele klasse verder wordt uitgebreid, kunnen we het trefwoord gebruiken uiteinde met de klassenaam.
In het volgende voorbeeld is de Stone-klasse Final en kan niet worden uitgebreid
public Final Class Stone { // Class methods and Variables }
53) Wat is het toegangsbereik van de Protected Access-specificatie?
Wanneer een methode of variabele wordt gedeclareerd met een Protected Access-specificatie, wordt deze toegankelijk in dezelfde klasse, elke andere klasse van hetzelfde pakket en ook in een subklasse.
modifier | Klasse | Pakket | subklasse | Wereld |
---|---|---|---|---|
publiek | Y | Y | Y | Y |
beschermd | Y | Y | Y | N |
geen modificator | Y | Y | N | N |
privaat | Y | N | N | N |
54) Wat is het verschil tussen Stapel en Wachtrij?
Stack en Queue worden beide gebruikt als tijdelijke aanduiding voor een verzameling gegevens. Het belangrijkste verschil tussen een stapel en een wachtrij is dat de stapel gebaseerd is op het Last in First out (LIFO) -principe, terwijl een wachtrij gebaseerd is op het FIFO-principe (First In First Out).
55) Hoe kunnen we in Java de serialisatie van variabelen verbieden?
Als we willen dat bepaalde variabelen van een klasse niet worden geserialiseerd, kunnen we het trefwoord gebruiken vergankelijk terwijl u ze declareert. De onderstaande variabele trans_var is bijvoorbeeld een tijdelijke variabele en kan niet worden geserialiseerd:
public class transientExample { private transient trans_var; // rest of the code }
56) Hoe kunnen we primitieve gegevenstypen als objecten gebruiken?
Primitieve gegevenstypen zoals int kunnen als objecten worden behandeld door gebruik te maken van hun respectievelijke wrapper-klassen. Integer is bijvoorbeeld een wrapperklasse voor het primitieve gegevenstype int. We kunnen verschillende methoden toepassen op een wrapper-klasse, net als elk ander object.
57) Welke soorten uitzonderingen worden tijdens het compileren onderschept?
Gecontroleerde uitzonderingen kunnen worden opgemerkt op het moment dat het programma wordt samengesteld. Gecontroleerde uitzonderingen moeten worden afgehandeld door het try catch-blok in de code te gebruiken om de code succesvol te kunnen compileren.
58) Beschrijf verschillende toestanden van een draad.
Een draadje erin Java kan zich in een van de volgende toestanden bevinden:
- Klaar: wanneer een thread wordt gemaakt, heeft deze de status Klaar.
- Actief: een thread die momenteel wordt uitgevoerd, is actief.
- Wachten: een thread die wacht totdat een andere thread bepaalde bronnen vrijmaakt, bevindt zich in de wachtstatus.
- Dood: een thread die na uitvoering dood is geworden, verkeert in de dode status.
59) Kunnen we een standaardconstructor van een klasse gebruiken, zelfs als er een expliciete constructor is gedefinieerd?
Java biedt een standaardconstructor zonder argument als er geen expliciete constructor is gedefinieerd in a Java klas. Maar als er een expliciete constructor is gedefinieerd, kan de standaardconstructor niet worden aangeroepen en kan de ontwikkelaar alleen die constructors gebruiken die in de klasse zijn gedefinieerd.
60) Kunnen we een methode overschrijven door dezelfde methodenaam en argumenten te gebruiken, maar met verschillende retourtypen?
De basisvoorwaarde voor het overschrijven van een methode is dat de naam van de methode, de argumenten en het retourtype exact hetzelfde moeten zijn als die van de methode die wordt overschreven. Het gebruik van een ander retourtype heeft dus geen voorrang op een methode.
61) Wat is de uitvoer van het volgende stukje code?
public class operatorExample { public static void main(String args[]) { int x = 4; system.out.println(x++); } }
In dit geval wordt de postfix ++ operator gebruikt die eerst de waarde retourneert en dan verhoogt. De output zal dus 4 zijn.
61) Iemand zegt dat hij met succes een Java-klasse heeft gecompileerd zonder zelfs maar een hoofdmethode erin te hebben? Is dit mogelijk?
hoofdmethode is een toegangspunt van Java klasse en is echter vereist voor de uitvoering van het programma; een klasse wordt met succes gecompileerd, zelfs als deze geen hoofdmethode heeft. Het kan echter niet worden uitgevoerd.
62) Kunnen we een niet-statische methode vanuit een statische methode aanroepen?
Niet-statische methoden zijn eigendom van objecten van een klasse en hebben een bereik op objectniveau. Om de niet-statische methoden vanuit een statisch blok aan te roepen (zoals vanuit een statische hoofdmethode), moet eerst een object van de klasse worden gemaakt. Vervolgens kunnen deze methoden worden aangeroepen met behulp van objectreferentie.
63) Wat zijn de twee omgevingsvariabelen die moeten worden ingesteld om deze te kunnen uitvoeren Java programma's?
Java Programma's kunnen alleen op een machine worden uitgevoerd als de volgende twee omgevingsvariabelen correct zijn ingesteld:
- PATH variabele
- CLASSPATH-variabele
64) Kunnen variabelen worden gebruikt? Java zonder initialisatie?
In Java, als een variabele in een code wordt gebruikt zonder voorafgaande initialisatie met een geldige waarde, compileert het programma niet en geeft het een foutmelding omdat er geen standaardwaarde is toegewezen aan variabelen in Java.
65) Kan een klas binnenkomen Java geërfd worden van meer dan één klasse?
In Java, kan een klasse uit slechts één klasse worden afgeleid en niet uit meerdere klassen. Meerdere erfenissen worden niet ondersteund door Java.
66) Kan een constructor een andere naam hebben dan een klassenaam? Java?
Constructeur binnen Java moet dezelfde naam hebben als de klassenaam en als de naam anders is, fungeert deze niet als constructor en beschouwt de compiler het als een normale methode.
67) Wat zal de output zijn van Round(3.7) en Ceil(3.7)?
Ronde(3.7) retourneert 4 en Ceil(3.7) retourneert 4.
68) Kunnen we goto in gebruiken Java om naar een bepaalde lijn te gaan?
In Java, er is geen goto-trefwoord en Java ondersteunt de functie om naar een bepaalde gelabelde regel te gaan niet.
69) Kan een dode draad opnieuw worden gestart?
In Java kan een thread die dood is, niet opnieuw worden gestart. Er is geen manier om een dode draad opnieuw te starten.
70) Is de volgende klassedeclaratie correct?
public abstract final class testClass { // Class methods and variables }
Antw: De bovenstaande klassendeclaratie is onjuist, omdat een abstracte klasse niet als definitief kan worden gedeclareerd.
71) Is JDK op elke machine vereist om een Java programma?
JDK is een ontwikkelingskit van Java en is alleen vereist voor ontwikkeling en voor het uitvoeren van een Java programma op een machine, is JDK niet vereist. Alleen JRE is vereist.
72) Wat is het verschil tussen een vergelijking met de equals-methode en de ==-operator?
In JavaDe equals()-methode wordt gebruikt om de inhoud van twee tekenreeksobjecten te vergelijken en retourneert true als beide objecten dezelfde waarde hebben, terwijl de operator == de referenties van twee tekenreeksobjecten vergelijkt.
In het volgende voorbeeld retourneert equals() true omdat de twee stringobjecten dezelfde waarden hebben. De operator == retourneert echter false omdat beide stringobjecten naar verschillende objecten verwijzen:
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 true System.out.println("str1 and str2 are equal in terms of values"); } if (str1 == str2) { //This condition is true System.out.println("Both strings are referencing same object"); } else { // This condition is NOT true System.out.println("Both strings are referencing different objects"); } } }
73) Is het mogelijk om een methode te definiëren in Java class maar de implementatie ervan in de code van een andere taal zoals C?
Ja, we kunnen dit doen door gebruik te maken van native methoden. In het geval van op native methoden gebaseerde ontwikkeling definiëren we openbare statische methoden in ons Java class zonder de implementatie ervan en vervolgens wordt de implementatie afzonderlijk in een andere taal zoals C gedaan.
74) Hoe worden destructors gedefinieerd in Java?
In Java, zijn er geen destructors gedefinieerd in de klasse, omdat dit niet nodig is. Java heeft zijn eigen garbagecollection-mechanisme dat het werk automatisch doet door de objecten te vernietigen wanneer er niet langer naar wordt verwezen.
Java Interviewvragen en antwoorden voor meer dan 5 jaar ervaring
75) Kan een variabele tegelijkertijd lokaal en statisch zijn?
Nee, een variabele kan niet tegelijkertijd statisch en lokaal zijn. Het definiëren van een lokale variabele als statisch geeft een compilatiefout.
76) Kunnen we statische methoden in een interface hebben?
Statische methoden kunnen in geen enkele klasse worden overschreven, terwijl alle methoden in een interface standaard abstract zijn en geacht worden te worden geïmplementeerd in de klassen die de interface implementeren. Het heeft dus geen zin om statische methoden in een interface te hebben Java.
77) Kunnen we in een klasse die een interface implementeert de waarde wijzigen van elke variabele die in de interface is gedefinieerd?
Nee, we kunnen de waarde van geen enkele variabele van een interface in de implementerende klasse wijzigen, omdat alle variabelen die in de interface zijn gedefinieerd standaard openbaar, statisch en definitief zijn. Finale variabelen zijn constanten die later niet kunnen worden gewijzigd.
78) Is het juist om te zeggen dat vanwege de functie voor het verzamelen van afval in Java, een Java-programma nooit zonder geheugen komt te zitten?
Ook al wordt er automatisch afval opgehaald door Java, het garandeert niet dat a Java programma zal niet uit het geheugen verdwijnen, omdat de mogelijkheid bestaat dat er een Java objecten worden in een sneller tempo uitgevoerd in vergelijking met het verzamelen van afval, wat resulteert in het vullen van alle beschikbare geheugenbronnen.
Garbagecollection helpt dus bij het verkleinen van de kans dat een programma geen geheugen meer heeft, maar garandeert dat niet.
79) Kunnen we een ander retourtype hebben dan void voor de hoofdmethode?
Nee, Java class main-methode kan alleen een void-retourtype hebben om het programma succesvol te laten uitvoeren.
Als u echter absoluut een waarde moet retourneren aan het einde van de hoofdmethode, kunt u System.exit(int status) gebruiken
80) Ik wil een object opnieuw bereiken en gebruiken nadat het is opgehaald. Hoe het mogelijk is?
Zodra een object door garbage collector is vernietigd, bestaat het niet meer op de heap en kan het niet meer worden benaderd. Er is geen manier om er opnieuw naar te verwijzen.
81 in Java threadprogrammering, welke methode is een must-implementatie voor alle threads?
Run() is een methode voor de Runnable-interface die door alle threads moet worden geïmplementeerd.
82) Ik wil de databaseverbindingen in mijn programma beheren en wil dat slechts één thread tegelijk een databaseverbinding kan maken. Hoe kan ik deze logica implementeren?
Antw: Dit kan worden geïmplementeerd door gebruik te maken van het concept van synchronisatie. Database-gerelateerde code kan worden geplaatst in een methode die hs gesynchroniseerd trefwoord zodat slechts één thread er tegelijk toegang toe heeft.
83) Hoe kan een programmeur handmatig een uitzondering genereren?
Om handmatig een uitzondering in een codeblok te genereren, Gooi trefwoord wordt gebruikt. Vervolgens wordt deze uitzondering opgevangen en afgehandeld in het catch-blok.
public void topMethod() { try { excMethod(); } catch (ManualException e) {} } public void excMethod { String name = null; if (name == null) { throw (new ManualException("Exception thrown manually "); } }
84) Ik wil dat mijn klasse zo wordt ontwikkeld dat geen enkele andere klasse (zelfs afgeleide klasse) zijn objecten kan creëren. Hoe kan ik dat doen?
Als we de constructor van een klasse als privé verklaren, zal deze voor geen enkele andere klasse toegankelijk zijn en daarom zal geen enkele andere klasse deze kunnen instantiëren en zal de vorming van zijn object alleen tot zichzelf beperkt zijn.
85) Hoe objecten worden opgeslagen Java?
In Java krijgt elk object bij het aanmaken een geheugenruimte van een heap. Wanneer een object door een garbage collector wordt vernietigd, wordt de ruimte die eraan is toegewezen van de heap opnieuw toegewezen aan de heap en wordt deze beschikbaar voor nieuwe objecten.
86) Hoe kunnen we de werkelijke grootte van een object op de hoop vinden?
In Java is er geen manier om de exacte grootte van een object op de heap te achterhalen.
87) Aan welke van de volgende klassen wordt meer geheugen toegewezen?
Klasse A: Drie methoden, vier variabelen, geen object
Klasse B: Vijf methoden, drie variabelen, geen object
Er wordt geen geheugen toegewezen vóór het maken van objecten. Omdat er voor beide klassen geen objecten zijn gemaakt, wordt er voor geen enkele klasse geheugen op de heap toegewezen.
88) Wat gebeurt er als een uitzondering niet wordt afgehandeld in een programma?
Als een uitzondering niet wordt afgehandeld in een programma met behulp van try-catch-blokken, wordt het programma afgebroken en wordt er geen instructie uitgevoerd na de instructie die de uitzondering heeft veroorzaakt.
89) Ik heb meerdere constructors gedefinieerd in een klasse. Is het mogelijk om een constructor aan te roepen vanuit de body van een andere constructor?
Als een klasse meerdere constructors heeft, is het mogelijk om de ene constructor aan te roepen vanuit de hoofdtekst van een andere met behulp van dit().
90) Wat wordt bedoeld met anonieme les?
Een anonieme klasse is een klasse die zonder enige naam is gedefinieerd in een enkele coderegel met behulp van een nieuw trefwoord.
In onderstaande code hebben we bijvoorbeeld een anonieme klasse in één regel code gedefinieerd:
public java.util.Enumeration testMethod() { return new java.util.Enumeration() { @Override public boolean hasMoreElements() { // TODO Auto-generated method stub return false; } @Override public Object nextElement() { // TODO Auto-generated method stub return null; } }
91) Is er een manier om de grootte van een array te vergroten na de declaratie ervan?
Arrays zijn statisch en zodra we de grootte ervan hebben opgegeven, kunnen we deze niet meer wijzigen. Als we dergelijke verzamelingen willen gebruiken waarbij we mogelijk een wijziging van de grootte (aantal items) nodig hebben, moeten we de voorkeur geven aan vector boven array.
92) Als een applicatie meerdere klassen bevat, is het dan oké om een hoofdmethode in meer dan één klasse te hebben?
Als er een hoofdmethode in meer dan één klasse in een Java-toepassing aanwezig is, zal dit geen enkel probleem veroorzaken, aangezien het toegangspunt voor elke toepassing een specifieke klasse zal zijn en de code alleen zal starten vanaf de hoofdmethode van die specifieke klasse.
93) Ik wil data van objecten bewaren voor later gebruik. Wat is de beste aanpak om dit te doen?
De beste manier om gegevens te bewaren voor toekomstig gebruik is door het concept van serialisatie te gebruiken.
94) Waar bestaat een lokale klasse uit Java?
In JavaAls we een nieuwe klasse binnen een bepaald blok definiëren, wordt dit een lokale klasse genoemd. Zo'n klasse heeft een lokaal bereik en is niet bruikbaar buiten het blok waarin deze is gedefinieerd.
95) Snaar en snaarBuffer beide vertegenwoordigen String-objecten. Kunnen we String en String vergelijken?Buffer in Java?
Hoewel String en StringBuffer beide vertegenwoordigen String-objecten, we kunnen ze niet met elkaar vergelijken en als we ze proberen te vergelijken, krijgen we een foutmelding.
96) Door welke API wordt geleverd Java voor bewerkingen op een set objecten?
Java biedt een Collection-API die veel nuttige methoden biedt die op een reeks objecten kunnen worden toegepast. Enkele van de belangrijke klassen die door Collection API worden geboden, zijn ArrayList, HashMap, TreeSet en TreeMap.
97) Kunnen we elk ander type naar het Booleaanse type casten met typecasting?
Nee, we kunnen geen enkel ander primitief type naar een Booleaans gegevenstype casten, noch kunnen we een Booleaans gegevenstype naar een ander primitief gegevenstype casten.
98) Kunnen we verschillende retourtypen gebruiken voor methoden wanneer deze worden overschreven?
De basisvereiste voor het overschrijven van de methode in Java is dat de overschreven methode dezelfde naam en parameters moet hebben. Maar een methode kan worden overschreven met een ander retourtype, zolang het nieuwe retourtype het origineel uitbreidt.
Methode retourneert bijvoorbeeld een referentietype.
Class B extends A { A method(int x) { //original method } B method(int x) { //overridden method } }
99) Wat is de basisklasse van alle uitzonderingsklassen?
In Java, Java.lang.Throwable
is de superklasse van alle uitzonderingsklassen en alle uitzonderingsklassen zijn afgeleid van deze basisklasse.
100) Wat is de volgorde van oproep van constructors bij overerving?
In geval van overerving wordt, wanneer een nieuw object van een afgeleide klasse wordt gemaakt, eerst de constructor van de superklasse aangeroepen en vervolgens de constructor van de afgeleide klasse.
Bereid je voor op je sollicitatiegesprek!!! Ga erdoor Java Tutorial beter voorbereid te zijn.
Dit gedetailleerd Java Mock Test Quiz zal u helpen de twijfels weg te nemen Java interviewvragen en zal je ook helpen om het interview te kraken.
Deze Java en Java 8 interviewvragen zal ook helpen bij uw viva (orals)