100 + Java Intervjuspørsmål og svar (2025)

Her er Java intervjuspørsmål og svar for ferskere så vel som erfarne kandidater for å få drømmejobben.

 

Java Programmeringsintervjuspørsmål og svar for ferskinger

1) Hva er forskjellen mellom en indre klasse og en underklasse?

En indre klasse er en klasse som er nestet i en annen klasse. En indre klasse har tilgangsrettigheter for klassen som nester den, og den kan få tilgang til alle variabler og metoder definert i den ytre klassen.

En underklasse er en klasse som arver fra en annen klasse kalt superklasse. Underklassen kan få tilgang til alle offentlige og beskyttede metoder og felt i sin superklasse.

👉 Gratis PDF-nedlasting: Java Intervju Intervju Spørsmål og svar >>


2) Hva er de ulike tilgangsspesifikasjonene for Java klasser?

In Java, er tilgangsspesifikasjoner nøkkelordene som brukes før et klassenavn som definerer tilgangsomfanget. Typene tilgangsspesifikasjoner for klasser er:

1) Offentlig: Klasse, Metode, Felt er tilgjengelig fra hvor som helst.

2) Beskyttet: Metode, feltet kan nås fra samme klasse som de tilhører eller fra underklassene, og fra klassen til samme pakke, men ikke fra utsiden.

3) Standard: Metode, felt, klasse kan bare nås fra den samme pakken og ikke fra utsiden av den opprinnelige pakken.

4) Privat: Metode, feltet kan nås fra samme klasse som de tilhører.


3) Hva er hensikten med statiske metoder og statiske variabler?

Når det er et 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 statisk nøkkelord for å gjøre en metode eller variabel delt for alle objekter.


4) Hva er datainnkapsling og hva er dens betydning?

Encapsulation er et konsept innen objektorientert programmering for å kombinere egenskaper og metoder i en enkelt enhet.

Innkapsling hjelper programmerere til å følge en modulær tilnærming for programvareutvikling ettersom hvert objekt har sitt eget sett med metoder og variabler og tjener funksjonene sine uavhengig av andre objekter. Innkapsling tjener også dataskjuling.


5) Hva er en singleton-klasse? Gi et praktisk eksempel på bruken.

En singleton-klasse i java kan bare ha én forekomst, og derfor tilhører alle metodene og variablene bare én forekomst. Singleton-klassekonsept er nyttig for 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.


6) Hva er løkker i Java? Hva er tre typer løkker?

Looping brukes i programmering for å utføre en setning eller en setningsblokk gjentatte ganger. Det er tre typer løkker inn Java:

1) For løkker

For loops brukes i java for å utføre setninger gjentatte ganger for et gitt antall ganger. For løkker brukes når antall ganger å utføre setningene er kjent for programmereren.

2) Mens løkker

Mens loop brukes når visse setninger må utføres gjentatte ganger til en betingelse er oppfylt. I while-løkker kontrolleres tilstanden først før utførelse av setninger.

3) Do While Loops

Do While Loop er den samme som While loop med den eneste forskjellen at betingelsen kontrolleres etter utførelse av blokk med setninger. Derfor, i tilfelle av do while-løkke, blir setninger utført minst én gang.


7) Hva er en uendelig sløyfe? Hvordan uendelig løkke erklæres?

En uendelig sløyfe løper uten noen betingelse og løper uendelig. En uendelig sløyfe kan brytes ved å definere hvilken som helst brytelogikk i kroppen til setningsblokkene.

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

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Hva er forskjellen mellom fortsett- og pauseutsagn?

break and continue er to viktige nøkkelord som brukes i Loops. Når et break-nøkkelord brukes i en løkke, brytes løkken umiddelbart, mens når fortsett-nøkkelordet brukes, brytes gjeldende iterasjon og løkken fortsetter med neste iterasjon.

I eksemplet nedenfor blir sløyfen brutt når telleren når 4.

for (counter = 0; counter & lt; 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    break;
}

}

I eksemplet nedenfor når telleren når 4, hopper loopen 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");
}

9) Hva er forskjellen mellom doble og flytende variabler i Java?

I java tar float 4 byte i minnet mens Double tar 8 byte i minnet. Float er enkelt presisjon desimaltall med flytende komma mens Double er dobbel presisjon desimaltall.


10) Hva er endelig søkeord i Java? Gi et eksempel.

I java erklæres en konstant ved å bruke nøkkelordet Final. Verdien kan kun tildeles én gang, og etter tildeling kan verdien av en konstant ikke endres.

I eksemplet nedenfor er en konstant med navnet const_val erklært og tildelt en verdi:

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 underklasses. Eksempel på streng, heltall og andre omslagsklasser.


11) Hva er ternær operatør? Gi et eksempel.

Ternær operator, også kalt betinget operator, brukes til å bestemme hvilken verdi som skal tilordnes til en variabel basert på en boolsk verdievaluering. Det er betegnet som ?

I eksemplet nedenfor, hvis rangering er 1, blir statusen tildelt 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);
    }
}

12) Hvordan kan du generere tilfeldige tall i Java?

  • Ved å bruke Math.random() kan du generere tilfeldige tall i området større enn eller lik 0.1 og mindre enn 1.0
  • Bruker Random class i pakken java.util

13) Hva er standard bryterhus? Gi et eksempel.

I en bytte uttalelse, standard tilfelle utføres når ingen annen bryterbetingelse samsvarer. Standard tilfelle er et valgfritt tilfelle. Det kan kun deklareres når alle andre brytertilfeller er kodet.

I eksemplet nedenfor, når poengsummen ikke er 1 eller 2, brukes standard store og små bokstaver.

public class SwitchExample {
    public static void main(String args[]) {
        int score = 4; // Declare the score variable inside the main method
        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) Hva er basisklassen i Java som alle klasser er avledet fra?

java.lang.object


15) Kan main()-metoden inn Java kan returnere noen data?

I java kan ikke main()-metoden returnere noen data, og derfor er den alltid erklært med en void-returtype.


16) Hva er Java Pakker? Hva er betydningen av pakker?

In Java, pakken er en samling av klasser og grensesnitt som er buntet sammen ettersom de er relatert til hverandre. Bruk av pakker hjelper utviklere med å modularisere koden og gruppere koden for riktig gjenbruk. Når koden er pakket i pakker, kan den importeres til andre klasser og brukes.


17) Kan vi erklære en klasse som abstrakt uten å ha noen abstrakt metode?

Ja, vi kan lage en abstrakt klasse ved å bruke abstrakt nøkkelord før klassenavnet selv om den ikke har noen abstrakt metode. Men hvis en klasse har én abstrakt metode, må den erklæres som abstrakt ellers vil den gi en feil.


18) Hva er forskjellen mellom en abstrakt klasse og grensesnitt i Java?

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 tilgangsspesifikasjoner (offentlige, private osv.) med eller uten konkret implementering.

En annen nøkkelforskjell i bruken av abstrakte klasser og grensesnitt er at en klasse som implementerer et grensesnitt må implementere alle metodene til 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.


19) Hva er ytelsesimplikasjonene av grensesnitt over abstrakte klasser?

Grensesnitt er tregere i ytelse sammenlignet med abstrakte klasser, da det kreves ekstra indirektioner for grensesnitt. En annen nøkkelfaktor for utviklere å ta i betraktning er at enhver klasse kan utvide bare én abstrakt klasse mens en klasse kan implementere mange grensesnitt.

Bruk av grensesnitt legger også en ekstra byrde på utviklerne når et grensesnitt implementeres i en klasse; utvikleren er tvunget til å implementere hver eneste metode for grensesnitt.


20) Importerer også underpakkene ved å importere en pakke Java?

I java, når en pakke importeres, importeres ikke underpakkene, og utvikleren må importere dem separat om nødvendig.

For eksempel, hvis en utvikler importerer et pakkeuniversitet.*, lastes alle klasser i pakken som heter universitetet, men ingen klasser fra underpakken lastes inn. For å laste klassene fra underpakken (si avdeling), må utvikleren importere den eksplisitt som følger:

Importer universitet.avdeling.*


21) Kan vi erklære hovedmetoden i klassen vår som privat?

I java må hovedmetoden være offentlig statisk for å kjøre en applikasjon riktig. Hvis hovedmetoden er erklært som privat, vil utvikleren ikke få noen kompileringsfeil, men den vil ikke bli utført og vil gi en kjøretidsfeil.


22) Hvordan kan vi sende argument til en funksjon ved referanse i stedet for pass by value?

I java kan vi sende argument til en funksjon bare etter verdi og ikke ved referanse.


23) Hvordan serialiseres et objekt i java?

I java, for å konvertere et objekt til bytestrøm ved serialisering, implementeres et grensesnitt med navnet Serializable av klassen. Alle objekter i en klasse som implementerer serialiserbart grensesnitt blir serialisert og tilstanden deres lagres i bytestrøm.


24) Når bør vi bruke serialisering?

Serialisering brukes når data skal overføres over nettverket. Ved hjelp av serialisering lagres objektets tilstand og konverteres til bytestrøm. Bytestrømmen overføres over nettverket og objektet gjenskapes på destinasjonen.


25) Er det obligatorisk for en prøveblokk å bli fulgt av en fangstblokkering Java for unntakshåndtering?

Prøv-blokken må følges av enten Catch-blokk eller Endelig blokk eller begge deler. Ethvert unntak som kastes fra forsøksblokken må enten fanges opp i fangstblokken eller andre spesifikke oppgaver som skal utføres før kodeabort legges inn i Endelig-blokken.


Java Intervjuspørsmål og svar for erfarne

26) Er det noen måte å hoppe over Endelig unntaksblokk selv om et unntak forekommer i unntaksblokken?

Hvis det oppstår et unntak i Try-blokken, går kontrollen over til catch-blokken hvis den ellers eksisterer for å endelig blokkere. Endelig blokk utføres alltid når et unntak oppstår, og den eneste måten å unngå kjøring av noen setninger i Sluttblokk er ved å avbryte koden med makt ved å skrive følgende kodelinje på slutten av prøveblokken:

System.exit(0);

27) Når konstruktøren av en klasse blir påkalt?

Konstruktøren av en klasse blir påkalt hver gang et objekt opprettes med nytt nøkkelord.

For eksempel, i den følgende klassen opprettes to objekter ved å bruke 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();
    }
}

28) Kan en klasse ha flere konstruktører?

Ja, en klasse kan ha flere konstruktører med forskjellige parametere. Hvilken konstruktør som blir brukt til å lage objekter avhenger av argumentene som sendes mens du oppretter objektene.


29) Kan vi overstyre statiske metoder for en klasse?

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øring). Selv om vi prøver å overstyre den statiske metoden, vil vi ikke få en komplisjonsfeil, og heller ikke virkningen av overstyring når vi kjører kode.


30) Hva blir resultatet i eksemplet nedenfor?

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

Viser fra underklasse

Utskrift fra superklasse


31) Er String en datatype i java?

String er ikke en primitiv datatype i java. Når en streng opprettes i java, er den faktisk et objekt av Java.Lang.String-klasse som blir opprettet. Etter opprettelsen av dette strengobjektet kan alle innebygde metoder i String-klassen brukes på strengobjektet.


32) Hvor mange strengobjekter er laget i eksemplet nedenfor?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

I eksemplet ovenfor, to objekter av Java.Lang.String-klassen opprettes. s1 og s3 er referanser til samme objekt.


33) Hvorfor strenger inn Java kalles uforanderlig?

I java kalles strengobjekter uforanderlige ettersom en verdi først er tilordnet en streng, kan den ikke endres, og hvis den endres, opprettes et nytt objekt.

I eksemplet nedenfor refererer referanse str til et strengobjekt som har verdien "Verdi én".

String str="Value One";

Når en ny verdi tildeles det, opprettes et nytt String-objekt og referansen flyttes til det nye objektet.

str="New Value";

34) Hva er forskjellen mellom en matrise og vektor?

En matrise grupperer data av samme primitive type og er statisk av natur mens vektorer er dynamiske og kan inneholde data av forskjellige datatyper.


35) Hva er multi-threading?

Multithreading er et programmeringskonsept for å kjøre flere oppgaver på en samtidig måte i et enkelt program. Tråder deler samme prosessstabel og kjører parallelt. Det hjelper med ytelsesforbedring av ethvert program.


36) Hvorfor Runnable Interface brukes i Java?

Kjørbart grensesnitt brukes i java for å implementere applikasjoner med flere tråder. Java.Lang.Runnable grensesnitt er implementert av en klasse for å støtte multi threading.


37) Hva er de to måtene å implementere multi-threading på Java?

Flergjengede 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 multithreading. Det er en Run()-metode i dette grensesnittet som er implementert.

2) Ved å skrive en klasse som strekker seg Java.Lang.Thread klasse.


38) Når det kreves mange endringer i data, hvilken bør du foretrekke å bruke? String eller StringBuffer?

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 hver dataendring opprettes et nytt String-objekt som vil være en ekstra overhead.


39) Hva er hensikten med å bruke Break i hvert tilfelle av Switch Statement?

Pause brukes etter hvert tilfelle (unntatt den siste) i en bryter slik at koden brytes etter den gyldige saken og ikke flyter i saksbehandlingen også.

Hvis pause ikke brukes etter hver sak, blir alle saker etter den gyldige saken også utført, noe som resulterer i feil resultater.


40) Hvordan søppelhenting foregår i Java?

I java, når et objekt ikke er referert lenger, søppelsamling finner sted og objektet blir ødelagt automatisk. For automatisk søppelinnsamling kaller java enten System.gc()-metoden eller Runtime.gc()-metoden.


41) Hvordan kan vi kjøre hvilken som helst kode selv før hovedmetoden?

Hvis vi ønsker å utføre noen setninger før opprettelse av objekter ved lastetid for klassen, kan vi bruke en statisk kodeblokk i klassen. Eventuelle setninger inne i denne statiske kodeblokken vil bli utført én gang ved lasting av klassen selv før opprettelse av objekter i hovedmetoden.


42) Kan en klasse være en superklasse og en underklasse samtidig? Gi et eksempel.

Hvis det er brukt et hierarki av arv, 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 landklasse.

public class world {

..........

}
public class continenet extends world {

............

}
public class country extends continent {

......................

}

43) Hvordan lages objekter i en klasse hvis ingen konstruktør er definert i klassen?

Selv om ingen eksplisitt konstruktør er definert i en java-klasse, blir objekter opprettet med suksess ettersom en standardkonstruktør implisitt brukes til objektoppretting. Denne konstruktøren har ingen parametere.


44) Hvordan kan vi sikre at en ressurs ikke brukes av flere tråder samtidig i multi-threading?

I multi-threading kan tilgang til ressursene som deles mellom flere tråder kontrolleres ved å bruke konseptet med synkronisering. Bruker synkronisert søkeord, vi kan sikre at bare én tråd kan bruke delt ressurs om gangen, og andre kan få kontroll over ressursen først når den har blitt fri fra den andre som bruker den.


45) Kan vi kalle konstruktøren av en klasse mer enn én gang for et objekt?

Constructor kalles automatisk når vi lager et objekt ved hjelp av nytt nøkkelord. Det kalles bare én gang for et objekt på tidspunktet for objektoppretting, og derfor kan vi ikke påkalle konstruktøren igjen for et objekt etter at det er opprettet.


46) Det er to klasser som heter klasseA og klasseB. Begge klassene er i samme pakke. Kan et privat medlem av klasse A få tilgang til et objekt i klasseB?

Private medlemmer av en klasse er ikke tilgjengelige utenfor omfanget av den klassen, og noen annen klasse selv i samme pakke har ikke tilgang til dem.


47) Kan vi ha to metoder i en klasse med samme navn?

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 parameterne som sendes.

For eksempel i klassen nedenfor har vi to utskriftsmetoder med samme navn, men forskjellige parametere. Avhengig av parameterne, vil passende en kalles:

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) Hvordan kan vi lage en kopi av et java-objekt?

Vi kan bruke konseptet kloning for å lage kopi av et objekt. Ved å bruke klone lager vi kopier med den faktiske tilstanden til et objekt.

Clone() er en metode for klonbart grensesnitt, og derfor må klonbart grensesnitt implementeres for å lage objektkopier.


49) Hva er fordelen med å bruke arv?

Hovedfordelen med å bruke arv er gjenbruk av kode ettersom arv gjør det mulig for underklasser å gjenbruke koden til superklassen. Polymorfisme (utvidbarhet) er en annen stor fordel som gjør at ny funksjonalitet kan introduseres uten å påvirke eksisterende avledede klasser.


50) Hva er standardtilgangsspesifikasjonen for variabler og metoder for en klasse?

Standard tilgangsspesifikasjoner for variabler og metode er pakkebeskyttet, dvs. variabler og klasse er tilgjengelig for alle andre klasser, men i samme pakke, ikke utenfor pakken.


51) Gi et eksempel på bruk av Pointers i Java klasse.

Det er ingen pekepinner i Java. Så vi kan ikke bruke begrepet pekere inn Java.


52) Hvordan kan vi begrense arv for en klasse slik at ingen klasse kan arves fra den?

Hvis vi ønsker at en klasse ikke skal utvides ytterligere med noen klasse, kan vi bruke nøkkelordet Slutten med klassenavnet.

I følgende eksempel er Stone-klassen Final og kan ikke forlenges

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

53) Hva er tilgangsomfanget til spesifikasjonen for beskyttet tilgang?

Når en metode eller en variabel er deklarert med Protected access specifier, blir den tilgjengelig i samme klasse, en hvilken som helst annen klasse i samme pakke samt en underklasse.

endring 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

54) Hva er forskjellen mellom Stack og Queue?

Både stakk og kø brukes som plassholder for en samling av data. Den primære forskjellen mellom en stabel og en kø er at stabelen er basert på Last in First Out-prinsippet (LIFO), mens en kø er basert på FIFO-prinsippet (First In First Out).


55) Hvordan kan vi ikke tillate serialisering av variabler i java?

Hvis vi vil at visse variabler i en klasse ikke skal serialiseres, kan vi bruke nøkkelordet forbigående mens de erklærte 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 
}

56) Hvordan kan vi bruke primitive datatyper som objekter?

Primitive datatyper som int kan håndteres som objekter ved bruk av deres respektive wrapper-klasser. For eksempel er Integer en innpakningsklasse for primitiv datatype int. Vi kan bruke forskjellige metoder på en wrapper-klasse, akkurat som alle andre objekter.


57) Hvilke typer unntak fanges opp på kompileringstidspunktet?

Avmerkede unntak kan fanges opp på tidspunktet for programkompilering. Avmerkede unntak må håndteres ved å bruke try catch-blokk i koden for å kunne kompilere koden.


58) Beskriv ulike tilstander i en tråd.

En tråd inn 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 kjøres for øyeblikket er i kjørende tilstand.
  • Venter: En tråd som venter på at en annen tråd skal frigjøre visse ressurser, er i ventetilstand.
  • Død: En tråd som har gått død etter henrettelse er i død tilstand.

59) Kan vi bruke en standard konstruktør av en klasse selv om en eksplisitt konstruktør er definert?

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åkalles, og utvikleren kan bare bruke de konstruktørene som er definert i klassen.


60) Kan vi overstyre en metode ved å bruke samme metodenavn og argumenter, men forskjellige returtyper?

Den grunnleggende betingelsen for metodeoverstyring er at metodenavn, argumenter og returtype må være nøyaktig den samme som metoden som overstyres. Derfor overstyrer ikke bruk av en annen returtype en metode.


61) Hva blir resultatet av følgende kodestykke?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

        system.out.println(x++);
	}
}

I dette tilfellet brukes postfix ++ operator som først returnerer verdien og deretter øker. Derfor blir utgangen 4.


61) En person sier at han kompilerte en java-klasse vellykket uten engang å ha en hovedmetode i den? Er det mulig?

hovedmetoden er et inngangspunkt for Java klasse og er imidlertid nødvendig for gjennomføring av programmet; en klasse blir vellykket kompilert selv om den ikke har en hovedmetode. Den kan imidlertid ikke kjøres.


62) Kan vi kalle en ikke-statisk metode fra innsiden for en statisk metode?

Ikke-statiske metoder eies av objekter i en klasse og har omfang på objektnivå, 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 å bruke objektreferanse kan disse metodene påberopes.


63) Hva er de to miljøvariablene som må angis for å kjøre noen Java programmer?

Java programmer kan kjøres i en maskin bare når følgende to miljøvariabler er riktig satt:

  1. PATH-variabel
  2. CLASSPATH variabel

64) Kan variabler brukes i Java uten initialisering?

In Java, hvis en variabel brukes i en kode uten forutgående initialisering med en gyldig verdi, kompilerer ikke programmet og gir en feil da ingen standardverdi er tilordnet variabler i Java.


65) Kan en klasse i Java arves fra mer enn én klasse?

In Java, kan en klasse avledes fra bare én klasse og ikke fra flere klasser. Flere arv støttes ikke av Java.


66) Kan en konstruktør ha et annet navn enn et klassenavn i Java?

Konstruktør i Java må ha samme navn som klassenavnet, og hvis navnet er annerledes, fungerer det ikke som en konstruktør, og kompilatoren tenker på det som en vanlig metode.


67) Hva blir resultatet av Round(3.7) og Ceil(3.7)?

Round(3.7) returnerer 4 og Ceil(3.7) returnerer 4.


68) Kan vi bruke goto inn Java å gå til en bestemt linje?

In Java, det er ikke goto nøkkelord og java støtter ikke denne funksjonen for å gå til en bestemt merket linje.


69) Kan en død tråd startes igjen?

I java kan ikke en tråd som er i død tilstand startes på nytt. Det er ingen måte å starte en død tråd på nytt.


70) Er følgende klasseerklæring korrekt?

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

Svar: Klasseerklæringen ovenfor er feil, da en abstrakt klasse ikke kan erklæres som endelig.


71) Er JDK nødvendig på hver maskin for å kjøre en Java program?

JDK er utviklingssett av Java og kreves kun for utvikling og for å kjøre en Java program på en maskin, JDK er ikke nødvendig. Kun JRE kreves.


72) Hva er forskjellen mellom sammenligning utført med lik metode og == operator?

In Java, equals()-metoden brukes til å sammenligne innholdet i to strengobjekter og returnerer true hvis de to har samme verdi mens ==-operatoren sammenligner referansene til to strengobjekter.

I det følgende eksempelet returnerer equals() true siden de to strengobjektene har samme verdier. Imidlertid returnerer ==-operatoren usann siden 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 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) Er det mulig å definere en metode i Java klasse, men gi den implementeringen i koden til et annet språk som C?

Ja, vi kan gjøre dette ved bruk av innfødte metoder. Ved naturlig metodebasert utvikling, definerer vi offentlige statiske metoder i vår Java klasse uten implementering, og deretter utføres implementering på et annet språk som C separat.


74) Hvordan er destruktorer definert i Java?

In Java, er det ingen destruktorer definert i klassen, da det ikke er nødvendig å gjøre det. Java har sin egen søppeloppsamlingsmekanisme som gjør jobben automatisk ved å ødelegge objektene når de ikke lenger refereres.


Java Intervjuspørsmål og svar for 5+ års erfaring

75) Kan en variabel være lokal og statisk samtidig?

Nei, en variabel kan ikke være statisk så vel som lokal på samme tid. Å definere en lokal variabel som statisk gir kompileringsfeil.


76) Kan vi ha statiske metoder i et grensesnitt?

Statiske metoder kan ikke overstyres i noen klasse mens noen metoder i et grensesnitt er som standard abstrakte og er ment å være implementert i klassene som implementerer grensesnittet. Så det gir ingen mening å ha statiske metoder i et grensesnitt i Java.


77) I en klasse som implementerer et grensesnitt, kan vi endre verdien til en variabel definert i grensesnittet?

Nei, vi kan ikke endre verdien av noen variabel i et grensesnitt i implementeringsklassen ettersom alle variabler definert i grensesnittet som standard er offentlige, statiske og endelige og endelige variabler er som konstanter som ikke kan endres senere.


78) Er det riktig å si at på grunn av søppelinnsamling funksjonen i Java, går et java-program aldri ut av minnet?

Selv om automatisk søppelhenting leveres av Java, det sikrer ikke at en Java programmet vil ikke gå tom for minnet da det er en mulighet for at opprettelse av Java objekter utføres i et raskere tempo sammenlignet med søppelinnsamling, noe som resulterer i fylling av alle tilgjengelige minneressurser.

Så søppelinnsamling hjelper til med å redusere sjansene for at et program går tom for minne, men det sikrer ikke det.


79) Kan vi ha noen annen returtype enn ugyldig for hovedmetoden?

Nei, Java klasse hovedmetode kan bare ha void-returtype for at programmet skal bli vellykket utført.

Ikke desto mindre, hvis du absolutt må returnere en verdi til ved fullføring av hovedmetoden, kan du bruke System.exit(int status)


80) Jeg ønsker å nå og bruke en gjenstand når den har blitt samlet inn. Hvordan er det mulig?

Når en gjenstand har blitt ødelagt av søppeloppsamleren, eksisterer den ikke lenger på haugen, og den kan ikke nås igjen. Det er ingen måte å referere til det igjen.


81) I Java trådprogrammering, hvilken metode er en nødvendig implementering for alle tråder?

Run() er en metode for kjørbart grensesnitt som må implementeres av alle tråder.


82) Jeg ønsker å kontrollere databasetilkoblinger i programmet mitt og ønsker at kun én tråd skal kunne opprette databasetilkobling om gangen. Hvordan kan jeg implementere denne logikken?

Svar: Dette kan implementeres ved bruk av konseptet synkronisering. Databaserelatert kode kan plasseres i en metode som hs synkronisert nøkkelord slik at bare én tråd kan få tilgang til det om gangen.


83) Hvordan kan et unntak bli kastet manuelt av en programmerer?

For å kaste et unntak i en kodeblokk manuelt, kaste søkeord brukes. Da fanges og håndteres dette unntaket i fangblokken.

public void topMethod() {
    try {
        excMethod();
    } catch (ManualException e) {}
}

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

84) Jeg vil at klassen min skal utvikles på en slik måte at ingen annen klasse (selv avledet klasse) kan lage dens objekter. Hvordan kan jeg gjøre det?

Hvis vi erklærer konstruktøren av en klasse som privat, vil den ikke være tilgjengelig for noen annen klasse, og derfor vil ingen annen klasse være i stand til å instansiere den, og dannelsen av objektet vil være begrenset til seg selv.


85) Hvordan gjenstander lagres i Java?

I java får hvert objekt når det opprettes et minneplass fra en haug. Når en gjenstand blir ødelagt av en søppeloppsamler, blir plassen som er tildelt den fra haugen på nytt tildelt til haugen og blir tilgjengelig for eventuelle nye objekter.


86) Hvordan kan vi finne den faktiske størrelsen på et objekt på haugen?

I java er det ingen måte å finne ut den nøyaktige størrelsen på et objekt på haugen.


87) Hvilken av følgende klasser vil ha mer minne tildelt?

Klasse A: Tre metoder, fire variabler, ingen objekt

Klasse B: Fem metoder, tre variabler, ingen objekt

Minne tildeles ikke før opprettelse av objekter. Siden for begge klassene er det ingen objekter opprettet, så det blir ikke tildelt noe minne på heap for noen klasse.


88) Hva skjer hvis et unntak ikke håndteres i et program?

Hvis et unntak ikke håndteres i et program som bruker try catch-blokker, blir programmet avbrutt og ingen setning kjøres etter setningen som forårsaket unntakskasting.


89) Jeg har flere konstruktører definert i en klasse. Er det mulig å kalle en konstruktør fra en annen konstruktørs kropp?

Hvis en klasse har flere konstruktører, er det mulig å kalle en konstruktør fra kroppen til en annen ved å bruke dette().


90) Hva menes med anonym klasse?

En anonym klasse er en klasse definert uten noe navn i en enkelt kodelinje ved hjelp av nytt nøkkelord.

For eksempel, i koden nedenfor har vi definert en anonym klasse i én kodelinje:

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) Er det en måte å øke størrelsen på en matrise etter at den er deklarert?

Matriser 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 elementer), bør vi foretrekke vektor fremfor array.


92) Hvis en applikasjon har flere klasser i seg, er det greit å ha en hovedmetode i mer enn én klasse?

Hvis det er hovedmetode i mer enn én klasser i en java-applikasjon, vil det ikke forårsake noe problem, da inngangspunkt for en applikasjon vil være en spesifikk klasse og koden vil starte fra hovedmetoden til den bestemte klassen.


93) Jeg ønsker å beholde data om objekter for senere bruk. Hva er den beste måten å gjøre det på?

Den beste måten å opprettholde data for fremtidig bruk er å bruke konseptet med serialisering.


94) Hva er en lokal klasse i Java?

In Java, hvis vi definerer en ny klasse inne i en bestemt blokk, kalles den en lokal klasse. En slik klasse har lokalt omfang og er ikke brukbar utenfor blokken der den er definert.


95) String og strengBuffer begge representerer strengobjekter. Kan vi sammenligne streng og strengBuffer in Java?

Selv om String og StringBuffer begge representerer String-objekter, vi kan ikke sammenligne dem med hverandre, og hvis vi prøver å sammenligne dem, får vi en feil.


96) Hvilken API leveres av Java for operasjoner på sett med objekter?

Java gir en samlings-API som gir mange nyttige metoder som kan brukes på et sett med objekter. Noen av de viktige klassene levert av Collection API inkluderer ArrayList, HashMap, TreeSet og TreeMap.


97) Kan vi støpe noen annen type til boolsk type med type støping?

Nei, vi kan verken caste noen annen primitiv type til boolsk datatype eller kan caste boolsk datatype til noen annen primitiv datatype.


98) Kan vi bruke ulike returtyper for metoder når de overstyres?

Det grunnleggende kravet til metodeoverstyring 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 den opprinnelige.

Metoden returnerer for eksempel en referansetype.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Hva er basisklassen for alle unntaksklasser?

In Java, Java.lang.Throwable er superklassen for alle unntaksklasser og alle unntaksklasser er avledet fra denne basisklassen.


100) Hva er rekkefølgen for kall til konstruktører i arv?

I tilfelle av arv, når et nytt objekt av en avledet klasse opprettes, startes først konstruktøren av superklassen og deretter konstruktøren til den avledede klassen.

Forbered deg på jobbintervjuet!!! Gå gjennom Java Opplæringen å være bedre forberedt.

Dette detaljert Java Mock Test Quiz vil hjelpe deg å fjerne tvil om Java intervjuspørsmål og vil også hjelpe deg med å knekke intervjuet.

Disse Java og Java 8 intervjuspørsmål vil også hjelpe i din viva (oral)