100 + Java Interviewspørgsmål og svar (2026)

Her er Java interviewspørgsmål og svar til friskere såvel som erfarne kandidater til at få deres drømmejob.

 

Java Programmeringsinterviewspørgsmål og svar til friskere

1) Hvad er forskellen mellem en indre klasse og en underklasse?

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 som arver fra en anden klasse kaldet superklasse. Underklassen kan få adgang til alle offentlige og beskyttede metoder og felter i sin superklasse.

👉 Gratis PDF-download: Java Interview Interview Spørgsmål & Svar >>


2) Hvad er de forskellige adgangsspecifikationer til Java klasser?

In Java, er adgangsspecifikationer de nøgleord, der bruges før et klassenavn, som definerer adgangsomfanget. Typerne af adgangsspecifikationer for klasser er:

1) Offentlig: Klasse, Metode, Felt er tilgængelig fra hvor som helst.

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

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

4) Privat: Method, Field kan tilgås fra den samme klasse, som de tilhører.


3) Hvad er formålet med statiske metoder og statiske variable?

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 for hvert objekt, bruger vi statisk nøgleord til at gøre en metode eller variabel delt for alle objekter.


4) Hvad er dataindkapsling, og hvad er dens betydning?

Encapsulation er et koncept inden for objektorienteret programmering til at kombinere egenskaber og metoder i en enkelt enhed.

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


5) Hvad er en singleton-klasse? Giv et praktisk eksempel på dets brug.

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

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


6) Hvad er løkker i Java? Hvad er tre typer sløjfer?

Looping bruges i programmering til at udføre en sætning eller en sætningsblok gentagne gange. Der er tre typer af sløjfer ind Java:

1) Til sløjfer

For loops bruges i java til at udføre sætninger gentagne gange i et givet antal gange. For loops bruges, når antallet af gange at udføre sætningerne er kendt af programmøren.

2) Mens sløjfer

Mens loop bruges, når visse sætninger skal udføres gentagne gange, indtil en betingelse er opfyldt. I while-løkker kontrolleres tilstanden først før udførelse af udsagn.

3) Do While Loops

Do While Loop er det samme som While loop med den eneste forskel, at betingelsen kontrolleres efter udførelse af blok af sætninger. I tilfælde af do while-løkke udføres sætninger derfor mindst én gang.


7) Hvad er en uendelig løkke? Hvordan erklæres uendelig sløjfe?

En uendelig sløjfe kører uden nogen betingelse og løber uendeligt. En uendelig løkke kan brydes ved at definere enhver brudlogik i sætningsblokkenes krop.

Uendelig sløjfe erklæres som følger:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Hvad er forskellen mellem fortsæt og pauseerklæring?

break and continue er to vigtige nøgleord, der bruges i Loops. Når et break-nøgleord bruges i en loop, brydes loop øjeblikkeligt, mens når fortsæt nøgleordet bruges, brydes den aktuelle iteration og loop fortsætter med næste iteration.

I eksemplet nedenfor brydes løkken, 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ælleren når 4, hopper loop til næste iteration, og eventuelle udsagn efter fortsæt nøgleordet 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");
}

9) Hvad er forskellen mellem dobbelte og float variable i Java?

I java tager float 4 bytes i hukommelsen, mens Double tager 8 bytes i hukommelsen. Float er enkelt præcision flydende decimaltal, mens Double er dobbelt præcision decimaltal.


10) Hvad er det endelige søgeord i Java? Giv et eksempel.

I java erklæres en konstant ved hjælp af søgeordet Final. Værdien kan kun tildeles én gang, og efter tildelingen kan værdien af ​​en konstant ikke ændres.

I eksemplet nedenfor er en konstant med navnet const_val erklæret og tildelt en værdi:

Privat finale int const_val=100

Når en metode er erklæret 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 underklassificeres. Eksempel på streng, heltal og andre indpakningsklasser.


11) Hvad er ternær operator? Giv et eksempel.

Ternær operator, også kaldet betinget operator, bruges til at bestemme, hvilken værdi der skal tildeles til en variabel baseret på en boolesk værdievaluering. Det er betegnet som?

I eksemplet nedenfor, 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);
    }
}

12) Hvordan kan du generere tilfældige tal i Java?

  • Ved at bruge 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 Random klasse i pakken java.util

13) Hvad er standard switch case? Giv et eksempel.

I en skifte erklæring, udføres standard tilfælde, når ingen anden switch-tilstand matcher. Standardkasse er en valgfri sag. Den kan kun erklæres, når alle andre koblingssager er blevet kodet.

I eksemplet nedenfor, når scoren ikke er 1 eller 2, bruges standard store og små bogstaver.

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) Hvad er basisklassen i Java hvorfra alle klasser er afledt?

java.lang.object


15) Kan main() metode ind Java kan returnere nogen data?

I java kan main()-metoden ikke returnere nogen data, og den er derfor altid erklæret med en void-returtype.


16) Hvad er Java Pakker? Hvad er betydningen af ​​pakker?

In Java, pakke er en samling af klasser og grænseflader, som er bundtet sammen, da de er relateret til hinanden. Brug af pakker hjælper udviklere med at modularisere koden og gruppere koden til korrekt genbrug. Når koden er blevet pakket i pakker, kan den importeres i andre klasser og bruges.


17) Kan vi erklære en klasse som abstrakt uden at have nogen abstrakt metode?

Ja, vi kan oprette en abstrakt klasse ved at bruge abstrakt nøgleord før klassenavn, selvom den ikke har nogen abstrakt metode. Men hvis en klasse har blot én abstrakt metode, skal den erklæres som abstrakt, ellers vil den give en fejl.


18) Hvad er forskellen mellem en abstrakt klasse og grænseflade i Java?

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 konkret implementering, mens en abstrakt klasse kan have medlemmer med alle adgangsspecifikationer (offentlige, private 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 grænsefladens metoder, mens en klasse, der arver fra en abstrakt klasse, ikke kræver implementering af alle metoderne i dens superklasse.

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


19) Hvad er præstationsimplikationerne af grænseflader over abstrakte klasser?

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

Brug af grænseflader lægger også en ekstra byrde på udviklerne, da en grænseflade er implementeret i en klasse; udvikleren er tvunget til at implementere hver eneste grænseflademetode.


20) Importerer import af en pakke dens underpakker også ind Java?

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 university, men ingen klasser fra underpakken indlæses. For at indlæse klasserne fra dens underpakke (f.eks. afdeling), skal udvikleren importere det eksplicit som følger:

Importer universitet.afdeling.*


21) Kan vi erklære vores klasses hovedmetode som privat?

I java skal hovedmetoden være offentlig statisk for at kunne køre en applikation korrekt. Hvis hovedmetoden er erklæret som privat, vil udvikleren ikke få nogen kompileringsfejl, men den bliver ikke udført og vil give en runtime-fejl.


22) Hvordan kan vi videregive argument til en funktion ved reference i stedet for pass by value?

I java kan vi kun sende argumenter til en funktion efter værdi og ikke ved reference.


23) Hvordan serialiseres et objekt i java?

I java, for at konvertere et objekt til bytestrøm ved serialisering, implementeres en grænseflade med navnet Serializable af klassen. Alle objekter i en klasse, der implementerer en serialiserbar grænseflade, bliver serialiseret, og deres tilstand gemmes i bytestrømmen.


24) Hvornår skal vi bruge serialisering?

Serialisering bruges, når data skal transmitteres over netværket. Ved hjælp af serialisering gemmes objektets tilstand og konverteres til bytestrøm. Bytestrømmen overføres over netværket, og objektet genskabes på destinationen.


25) Er det obligatorisk for en Try Block at blive efterfulgt af en Catch Block in Java til Undtagelseshåndtering?

Prøv blok skal efterfølges af enten Catch blok eller Endelig blok eller begge dele. Enhver undtagelse, der er smidt fra try-blokken, skal enten fanges i catch-blokken, eller også skal alle specifikke opgaver udføres, før kodeabort sættes i Finally-blokken.


Java Interviewspørgsmål og svar til øvede

26) Er der nogen måde at springe endelig blok af undtagelse over, selvom der forekommer en undtagelse i undtagelsesblokken?

Hvis der rejses en undtagelse i Try-blokken, overføres kontrollen til catch-blokken, hvis den ellers eksisterer for endelig at blokere. Endelig udføres blokering altid, når der opstår en undtagelse, og den eneste måde at undgå udførelse af sætninger i Endelig blok er ved at afbryde koden med magt ved at skrive følgende kodelinje i slutningen af ​​prøveblokken:

System.exit(0);

27) Når konstruktøren af ​​en klasse påkaldes?

Konstruktøren af ​​en klasse kaldes hver gang et objekt oprettes med nyt nøgleord.

For eksempel, i den følgende klasse oprettes to objekter ved hjælp af nyt nøgleord, og derfor påkaldes constructor 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();
    }
}

28) Kan en klasse have flere konstruktører?

Ja, en klasse kan have flere konstruktører med forskellige parametre. Hvilken konstruktør der bliver brugt til oprettelse af objekter afhænger af de argumenter, der sendes under oprettelse af objekterne.


29) Kan vi tilsidesætte statiske metoder i en klasse?

Vi kan ikke tilsidesætte statiske metoder. Statiske metoder tilhører en klasse og ikke til individuelle objekter og løses på tidspunktet for kompilering (ikke ved kørsel).Selv hvis vi forsøger at tilsidesætte den statiske metode, vil vi ikke få en komplitionsfejl, og heller ikke virkningen af ​​at tilsidesætte, når vi kører kode.


30) Hvad vil outputtet være i nedenstående eksempel?

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

Vises fra underklasse

Udskrivning fra superklasse


31) Er String en datatype i java?

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


32) Hvor mange strengobjekter oprettes i eksemplet nedenfor?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

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


33) Hvorfor stryger ind Java kaldes uforanderlige?

I java kaldes strengobjekter uforanderlige, da når værdien er blevet tildelt en streng, kan den ikke ændres, og hvis den ændres, oprettes et nyt objekt.

I eksemplet nedenfor refererer reference str til et strengobjekt med værdien "Værdi en".

String str="Value One";

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

str="New Value";

34) Hvad er forskellen mellem et array og vektor?

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


35) Hvad er multi-threading?

Multi threading er et programmeringskoncept til at køre flere opgaver på en samtidig måde inden for et enkelt program. Tråde deler samme processtack og kører parallelt. Det hjælper med at forbedre ydeevnen af ​​ethvert program.


36) Hvorfor Runnable Interface bruges i Java?

Kørbar grænseflade bruges i java til implementering af multitrådede applikationer. Java.Lang.Runnable interface er implementeret af en klasse for at understøtte multi-threading.


37) Hvad er de to måder at implementere multi-threading på Java?

Multigevind applikationer kan udvikles i Java ved at bruge en af ​​følgende to metoder:

1) Ved at bruge Java.Lang.Runnable Interface. Klasser implementerer denne grænseflade for at aktivere multi-threading. Der er en Run()-metode i denne grænseflade, som er implementeret.

2) Ved at skrive en klasse, der forlænger Java.Lang.Thread klasse.


38) Når der kræves en masse ændringer i data, hvilken bør man så foretrække at bruge? String eller StringBuffer?

Siden StringBuffers er dynamiske i naturen, og vi kan ændre værdierne af StringBuffer objekter i modsætning til String, som er uforanderlig, er det altid et godt valg at bruge StringBuffer når data bliver ændret for meget. Hvis vi bruger String i et sådant tilfælde, vil der for hver dataændring blive oprettet et nyt String-objekt, som vil være en ekstra overhead.


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

Pause bruges efter hver sag (undtagen den sidste) i en switch, så koden går i stykker efter den gyldige sag og ikke også flyder i de videregående sager.

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


40) Hvordan affaldsindsamling foregår i Java?

I java, når der ikke længere refereres til et objekt, dagrenovation finder sted, og genstanden destrueres automatisk. Til automatisk affaldsindsamling kalder java enten System.gc()-metoden eller Runtime.gc()-metoden.


41) Hvordan kan vi udføre enhver kode selv før hovedmetoden?

Hvis vi ønsker at udføre nogle sætninger før oprettelse af objekter ved indlæsningstid for klassen, kan vi bruge en statisk kodeblok i klassen. Alle udsagn inde i denne statiske kodeblok vil blive udført én gang på tidspunktet for indlæsning af klassen, selv før oprettelse af objekter i hovedmetoden.


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

Hvis der er brugt 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 {

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

}

43) Hvordan skabes objekter i en klasse, hvis der ikke er defineret en konstruktør i klassen?

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


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

Ved multi-threading kan adgangen til de ressourcer, som deles mellem flere tråde, styres ved at bruge konceptet synkronisering. Bruger synkroniseret søgeord, vi kan sikre, at kun én tråd kan bruge delt ressource ad gangen, og andre kan kun få kontrol over ressourcen, når den er blevet fri for den anden, der bruger den.


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

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


46) Der er to klasser, der hedder klasse A og klasse B. Begge klasser er i samme pakke. Kan et privat medlem af klasse A tilgås af et objekt af klasse B?

Private medlemmer af en klasse er ikke tilgængelige uden for den pågældende klasses omfang, og enhver anden klasse, selv i den samme pakke, kan ikke få adgang til dem.


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

Vi kan definere to metoder i en klasse med samme navn, men med forskelligt antal/type parametre. Hvilken metode, der skal aktiveres, afhænger af de parametre, der sendes.

For eksempel i klassen nedenfor har vi to printmetoder med samme navn, men forskellige parametre. Afhængigt af parametrene vil den passende blive kaldt:

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

Vi kan bruge begrebet kloning til at skabe kopi af et objekt. Ved hjælp af klon opretter vi kopier med den faktiske tilstand af et objekt.

Clone() er en metode til Klonbar grænseflade, og derfor skal Klonbar grænseflade implementeres for at lave objektkopier.


49) Hvad er fordelen ved at bruge arv?

Den vigtigste fordel ved at bruge arv er genbrug af kode, da arv gør det muligt for underklasser at genbruge koden for dens superklasse. Polymorfi (Extensibility) er en anden stor fordel, som gør det muligt at introducere ny funktionalitet uden at påvirke eksisterende afledte klasser.


50) Hvad er standardadgangsspecifikationen for variabler og metoder i en klasse?

Standard adgangsspecifikation for variabler og metode er pakkebeskyttet, dvs. variabler og klasse er tilgængelige for enhver anden klasse, men i den samme pakke, ikke uden for pakken.


51) Giv et eksempel på brug af pointere i Java klasse.

Der er ingen pointer i Java. Så vi kan ikke bruge begrebet pointer ind Java.


52) Hvordan kan vi begrænse arv for en klasse, så ingen klasse kan arves fra den?

Hvis vi ønsker, at en klasse ikke skal udvides yderligere med nogen klasse, kan vi bruge søgeordet Endelig med klassenavnet.

I det følgende eksempel er Stone-klassen Final og kan ikke forlænges

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

53) Hvad er adgangsomfanget for Protected Access-specifikationen?

Når en metode eller en variabel er erklæret med Protected access specificifier, bliver den tilgængelig i den samme klasse, enhver anden klasse i den samme pakke såvel som en underklasse.

ændring Klasse Pakke underklasse Over
offentlige Y Y Y Y
beskyttet Y Y Y N
ingen modifikator Y Y N N
private Y N N N

54) Hvad er forskellen mellem stak og kø?

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


55) Hvordan kan vi i java forbyde serialisering af variabler?

Hvis vi ønsker, at visse variable i en klasse ikke skal serialiseres, kan vi bruge nøgleordet forbigående mens de 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 
}

56) Hvordan kan vi bruge primitive datatyper som objekter?

Primitive datatyper som int kan håndteres som objekter ved brug af deres respektive wrapper-klasser. For eksempel er Integer en indpakningsklasse for primitiv datatype int. Vi kan anvende forskellige metoder til en wrapper-klasse, ligesom ethvert andet objekt.


57) Hvilke typer undtagelser fanges på kompileringstidspunktet?

Afkrydsede undtagelser kan fanges på tidspunktet for programkompilering. Afkrydsede undtagelser skal håndteres ved at bruge try catch-blok i koden for at kunne kompilere koden.


58) Beskriv forskellige tilstande i en tråd.

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

  • Klar: Når en tråd oprettes, er den i tilstanden Klar.
  • Kører: En tråd, der i øjeblikket køres, er i kørende tilstand.
  • Venter: En tråd, der venter på, at en anden tråd frigør visse ressourcer, er i ventetilstand.
  • Død: En tråd, der er gået død efter henrettelse, er i død tilstand.

59) Kan vi bruge en standardkonstruktør af en klasse, selvom en eksplicit konstruktør er defineret?

Java giver en standard ingen argument konstruktør, hvis der ikke er defineret nogen eksplicit konstruktør i en Java klasse. Men hvis en eksplicit konstruktør er blevet defineret, kan standardkonstruktøren ikke aktiveres, og udvikleren kan kun bruge de konstruktører, der er defineret i klassen.


60) Kan vi tilsidesætte en metode ved at bruge samme metodenavn og argumenter, men forskellige returtyper?

Den grundlæggende betingelse for metodetilsidesættelse er, at metodenavn, argumenter samt returtype skal være nøjagtigt de samme som for den metode, der tilsidesættes. Brug af en anden returtype tilsidesætter derfor ikke en metode.


61) Hvad bliver outputtet af følgende kodestykke?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

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

I dette tilfælde bruges postfix ++ operator, som først returnerer værdien og derefter inkrementerer. Derfor vil dets output være 4.


61) En person siger, at han kompilerede en java-klasse med succes uden selv at have en hovedmetode i den? Er det muligt?

hovedmetoden er et indgangspunkt for Java klasse og er dog påkrævet for udførelse af programmet; en klasse bliver kompileret med succes, selvom den ikke har en hovedmetode. Det kan dog ikke køres.


62) Kan vi kalde en ikke-statisk metode indefra for en statisk metode?

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


63) Hvad er de to miljøvariabler, der skal indstilles for at køre evt Java programmer?

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

  1. PATH variabel
  2. CLASSPATH variabel

64) Kan variabler bruges i Java uden initialisering?

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


65) Kan en klasse i Java være arvet fra mere end én klasse?

In Java, kan en klasse kun udledes fra én klasse og ikke fra flere klasser. Flere nedarvninger understøttes ikke af Java.


66) Kan en konstruktør have et andet navn end et klassenavn i Java?

Konstruktør i Java skal have samme navn som klassenavnet, og hvis navnet er anderledes, fungerer det ikke som en konstruktør, og compileren opfatter det som en normal metode.


67) Hvad bliver resultatet af Round(3.7) og Ceil(3.7)?

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


68) Kan vi bruge goto ind Java at gå til en bestemt linje?

In Java, der er ikke goto nøgleord og java understøtter ikke denne funktion med at gå til en bestemt mærket linje.


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

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.


70) Er følgende klasseerklæring korrekt?

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

Svar: Ovenstående klasseerklæring er forkert, da en abstrakt klasse ikke kan erklæres som endelig.


71) Er JDK påkrævet på hver maskine for at køre en Java program?

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


72) Hvad er forskellen mellem sammenligning udført med equals-metoden og ==-operatoren?

In Java, metoden equals() bruges 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 equals() sand, da de to strengobjekter har samme værdier. Imidlertid returnerer ==-operatoren falsk, da begge strengobjekter refererer 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 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 muligt at definere en metode i Java klasse, men giver det implementering i koden for et andet sprog som C?

Ja, vi kan gøre dette ved at bruge native metoder. I tilfælde af native metodebaseret udvikling, definerer vi offentlige statiske metoder i vores Java klasse uden dens implementering, og derefter udføres implementeringen i et andet sprog som C separat.


74) Hvordan defineres destruktorer i Java?

In Java, er der ingen destruktorer defineret i klassen, da det ikke er nødvendigt at gøre det. Java har sin egen affaldsopsamlingsmekanisme, som udfører jobbet automatisk ved at ødelægge objekterne, når de ikke længere refereres.


Java Interview spørgsmål og svar for 5+ års erfaring

75) Kan en variabel være lokal og statisk på samme tid?

Nej en variabel kan ikke være statisk såvel som lokal på samme tid. At definere en lokal variabel som statisk giver kompileringsfejl.


76) Kan vi have statiske metoder i en grænseflade?

Statiske metoder kan ikke tilsidesættes i nogen klasse, mens alle 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.


77) Kan vi i en klasse, der implementerer en grænseflade, ændre værdien af ​​en variabel defineret i grænsefladen?

Nej, vi kan ikke ændre værdien af ​​nogen 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, der ikke kan ændres senere.


78) Er det korrekt at sige, at på grund af affaldsindsamling funktion i Java, går et java-program aldrig tør for hukommelse?

Også selvom automatisk affaldsindsamling leveres af Java, det sikrer ikke, at en Java programmet vil ikke gå ud af hukommelsen, da der er mulighed for, at oprettelse af Java objekter udføres i et hurtigere tempo sammenlignet med affaldsindsamling, hvilket resulterer i udfyldning af alle tilgængelige hukommelsesressourcer.

Så skraldindsamling hjælper med at reducere chancerne for, at et program løber tør for hukommelse, men det sikrer ikke det.


79) Kan vi have en anden returtype end ugyldig for hovedmetoden?

Nej, Java klasses hovedmetode kan kun have ugyldig returtype for at programmet kan blive udført.

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


80) Jeg ønsker at nå frem igen og bruge en genstand, når den er blevet indsamlet affald. Hvordan er det muligt?

Når en genstand er blevet ødelagt af skraldemand, findes den ikke længere på dyngen, og den kan ikke tilgås igen. Der er ingen måde at henvise til det igen.


81) I Java tråd programmering, hvilken metode er en must implementering for alle tråde?

Run() er en metode til Runnable grænseflade, der skal implementeres af alle tråde.


82) Jeg ønsker at kontrollere databaseforbindelser i mit program og ønsker, at kun én tråd skal kunne lave databaseforbindelse ad gangen. Hvordan kan jeg implementere denne logik?

Svar: Dette kan implementeres ved brug af konceptet synkronisering. Databaserelateret kode kan placeres i en metode, som hs synkroniseret søgeord, så kun én tråd kan få adgang til det ad gangen.


83) Hvordan kan en undtagelse kastes manuelt af en programmør?

For at smide en undtagelse i en kodeblok manuelt, kaste søgeord er brugt. Så bliver denne undtagelse fanget og håndteret 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 ønsker, at min klasse skal udvikles på en sådan måde, at ingen anden klasse (selv afledt klasse) kan skabe dens objekter. Hvordan kan jeg gøre det?

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 instansiere den, og dannelsen af ​​dens objekt vil kun være begrænset til sig selv.


85) Hvordan objekter opbevares i Java?

I java får hvert objekt, når det oprettes, et hukommelsesrum fra en bunke. Når en genstand ødelægges af en skraldemand, bliver den plads, der er tildelt den fra dyngen, gentildelt til dyngen og bliver tilgængelig for eventuelle nye objekter.


86) Hvordan kan vi finde den faktiske størrelse af et objekt på dyngen?

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


87) Hvilken af ​​følgende klasser vil have mere hukommelse tildelt?

Klasse A: Tre metoder, fire variabler, intet objekt

Klasse B: Fem metoder, tre variabler, intet objekt

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


88) Hvad sker der, hvis en undtagelse ikke håndteres i et program?

Hvis en undtagelse ikke håndteres i et program ved hjælp af try catch-blokke, afbrydes programmet, og ingen sætning udføres efter sætningen, der forårsagede undtagelseskast.


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

Hvis en klasse har flere konstruktører, er det muligt at kalde én konstruktør fra kroppen af ​​en anden ved at bruge det her().


90) Hvad menes med anonym klasse?

En anonym klasse er en klasse defineret uden noget navn i en enkelt kodelinje 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()

    {

        @Override

        public boolean hasMoreElements()

        {

            // TODO Auto-generated method stub

            return false;

        }

        @Override

        public Object nextElement()

        {

            // TODO Auto-generated method stub

            return null;

        }

    }

91) Er der en måde at øge størrelsen af ​​et array efter dets erklæring?

Arrays er statiske, og når vi først har angivet dens størrelse, kan vi ikke ændre den. Hvis vi ønsker at bruge sådanne samlinger, hvor vi kan kræve en ændring af størrelse (antal elementer), bør vi foretrække vektor frem for array.


92) Hvis en applikation har flere klasser i sig, er det så okay at have en hovedmetode i mere end én klasse?

Hvis der er hovedmetode i mere end én klasser i et java-program, vil det ikke forårsage noget problem, da indgangspunktet for enhver applikation vil være en specifik klasse, og koden starter kun fra hovedmetoden for den pågældende klasse.


93) Jeg ønsker at bevare data om objekter til senere brug. Hvad er den bedste måde at gøre det på?

Den bedste måde at bevare data til fremtidig brug på er at bruge begrebet serialisering.


94) Hvad er en lokal klasse i Java?

In Java, hvis vi definerer en ny klasse inde i en bestemt blok, kaldes den en lokal klasse. En sådan klasse har lokalt omfang og kan ikke bruges uden for den blok, hvor den er defineret.


95) String og StringBuffer begge repræsenterer strengobjekter. Kan vi sammenligne streng og strengBuffer in Java?

Skønt String og StringBuffer begge repræsenterer String-objekter, vi kan ikke sammenligne dem med hinanden, og hvis vi forsøger at sammenligne dem, får vi en fejl.


96) Hvilken API leveres af Java til operationer på sæt af objekter?

Java leverer en Collection API, som giver mange nyttige metoder, som kan anvendes på et sæt objekter. Nogle af de vigtige klasser leveret af Collection API inkluderer ArrayList, HashMap, TreeSet og TreeMap.


97) Kan vi støbe en hvilken som helst anden type til Boolean Type med typestøbning?

Nej, vi kan hverken caste nogen anden primitiv type til boolsk datatype eller kan caste boolsk datatype til nogen anden primitiv datatype.


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

Det grundlæggende krav om metode, der tilsidesætter 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 den oprindelige.

For eksempel returnerer metoden en referencetype.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Hvad er basisklassen for alle undtagelsesklasser?

In Java, Java.lang.Throwable er superklassen for alle undtagelsesklasser, og alle undtagelsesklasser er afledt af denne basisklasse.


100) Hvad er rækkefølgen af ​​kald af konstruktører i arv?

I tilfælde af nedarvning, når et nyt objekt af en afledt klasse oprettes, startes først superklassens konstruktør og derefter konstruktøren af ​​den afledte klasse.

Forbered dig til din jobsamtale!!! Gå igennem Java tutorial at være bedre forberedt.

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

Disse Java og Java 8 interviewspørgsmål vil også hjælpe i din viva (oral)

Opsummer dette indlæg med: