100+ Java Intervjufrågor och svar (2025)

Här finns Java intervjufrågor och svar för fräschare såväl som erfarna kandidater för att få sitt drömjobb.

 

Java Programmeringsintervjufrågor och svar för nybörjare

1) Vad är skillnaden mellan en inre klass och en underklass?

En inre klass är en klass som är kapslad i en annan klass. En inre klass har åtkomsträttigheter för klassen som kapslar den och den kan komma åt alla variabler och metoder som definieras i den yttre klassen.

En underklass är en klass som ärver från en annan klass som kallas superklass. Underklass kan komma åt alla offentliga och skyddade metoder och fält i sin superklass.

👉 Gratis PDF-nedladdning: Java Intervju Intervju Frågor & svar >>


2) Vad är de olika åtkomstspecifikationerna till för Java klasser?

In Java, åtkomstspecifikatorer är nyckelorden som används före ett klassnamn som definierar åtkomstomfånget. Typerna av åtkomstspecifikationer för klasser är:

1) Offentligt: Klass, metod, fält är tillgänglig var som helst.

2) Skyddad: Method, Field kan nås från samma klass som de tillhör eller från underklasserna och från klassen i samma paket, men inte utifrån.

3) Standard: Metod, fält, klass kan endast nås från samma paket och inte från utsidan av det ursprungliga paketet.

4) Privat: Method, Field kan nås från samma klass som de tillhör.


3) Vad är syftet med statiska metoder och statiska variabler?

När det finns ett krav på att dela en metod eller en variabel mellan flera objekt i en klass istället för att skapa separata kopior för varje objekt, använder vi statiskt nyckelord för att göra en metod eller variabel delad för alla objekt.


4) Vad är datainkapsling och vad är dess betydelse?

Encapsulation är ett koncept inom objektorienterad programmering för att kombinera egenskaper och metoder i en enda enhet.

Encapsulation hjälper programmerare att följa ett modulärt tillvägagångssätt för mjukvaruutveckling eftersom varje objekt har sin egen uppsättning metoder och variabler och tjänar sina funktioner oberoende av andra objekt. Inkapsling tjänar också datadöljande syfte.


5) Vad är en singelklass? Ge ett praktiskt exempel på dess användning.

En singleton-klass i java kan bara ha en instans och därför tillhör alla dess metoder och variabler bara en instans. Singleton-klasskonceptet är användbart för situationer när det finns ett behov av att begränsa antalet objekt för en klass.

Det bästa exemplet på enstaka användningsscenario är när det finns en gräns för att bara ha en anslutning till en databas på grund av vissa förarbegränsningar eller på grund av licensproblem.


6) Vad är loopar i Java? Vilka tre typer av slingor finns det?

Looping används i programmering för att exekvera en sats eller ett satsblock upprepade gånger. Det finns tre typer av slingor in Java:

1) För loopar

För loopar används i java för att exekvera uttalanden upprepade gånger under ett givet antal gånger. För loopar används när antalet gånger att exekvera påståendena är känt för programmeraren.

2) Medan loopar

While loop används när vissa satser måste köras upprepade gånger tills ett villkor är uppfyllt. I while-slingor kontrolleras tillståndet först innan satserna körs.

3) Gör medan loopar

Do While Loop är samma som While loop med den enda skillnaden att villkoret kontrolleras efter exekvering av block av uttalanden. Därför exekveras satser minst en gång i fall av do while loop.


7) Vad är en oändlig loop? Hur deklareras oändlig loop?

En oändlig loop löper utan några villkor och löper oändligt. En oändlig slinga kan brytas genom att definiera vilken brytande logik som helst i satsblockens kropp.

Oändlig loop deklareras enligt följande:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Vad är skillnaden mellan fortsätt och bryt uttalande?

break and continue är två viktiga nyckelord som används i Loops. När ett break-nyckelord används i en loop bryts loopen omedelbart medan när fortsätt-nyckelordet används bryts nuvarande iteration och loopen fortsätter med nästa iteration.

I exemplet nedan bryts loopen när räknaren når 4.

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

if (counter == 4) {

    break;
}

}

I exemplet nedan, när räknaren når 4, hoppar loopen till nästa iteration och alla påståenden efter nyckelordet continue hoppas över för aktuell 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) Vad är skillnaden mellan dubbla och flytande variabler i Java?

I java tar float 4 byte i minnet medan Double tar 8 byte i minnet. Float är en enda precision flyttal decimaltal medan Double är dubbel precision decimaltal.


10) Vad är det sista sökordet i Java? Ge ett exempel.

I java deklareras en konstant med hjälp av nyckelordet Final. Värde kan endast tilldelas en gång och efter tilldelning kan värdet på en konstant inte ändras.

I exemplet nedan deklareras en konstant med namnet const_val och tilldelas ett värde:

Privat final int const_val=100

När en metod deklareras som slutgiltig kan den INTE åsidosättas av underklasserna. Denna metod är snabbare än någon annan metod, eftersom de löses vid efterlevnad tid.

När en klass förklaras som slutgiltig kan den inte underklassas. Exempel String, Integer och andra omslagsklasser.


11) Vad är ternär operator? Ge ett exempel.

Ternär operator, även kallad villkorlig operator, används för att bestämma vilket värde som ska tilldelas en variabel baserat på en boolesk värdeutvärdering. Det betecknas som ?

I exemplet nedan, om rang är 1, tilldelas status värdet "Klar" annars "Väntar".

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

12) Hur kan du generera slumptal i Java?

  • Med Math.random() kan du generera slumptal i intervallet större än eller lika med 0.1 och mindre än 1.0
  • Använder Random class i paketet java.util

13) Vad är standardväxellåda? Ge exempel.

I en växla uttalande, standardfall exekveras när inget annat switchvillkor matchar. Standardfallet är ett valfritt fall. Det kan endast deklareras när alla andra växelfall har kodats.

I exemplet nedan, när poängen inte är 1 eller 2, används standardfall.

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) Vad är basklassen i Java som alla klasser härstammar från?

java.lang.object


15) Kan main()-metoden in Java kan returnera någon data?

I java kan main()-metoden inte returnera någon data och därför deklareras den alltid med en void-returtyp.


16) Vad är Java Paket? Vad är betydelsen av paket?

In Java, paketet är en samling klasser och gränssnitt som är buntade tillsammans eftersom de är relaterade till varandra. Användning av paket hjälper utvecklare att modularisera koden och gruppera koden för korrekt återanvändning. När koden har paketerats i paket kan den importeras till andra klasser och användas.


17) Kan vi deklarera en klass som abstrakt utan att ha någon abstrakt metod?

Ja, vi kan skapa en abstrakt klass genom att använda abstrakt nyckelord före klassnamn även om den inte har någon abstrakt metod. Men om en klass ens har en abstrakt metod måste den deklareras som abstrakt annars kommer den att ge ett fel.


18) Vad är skillnaden mellan en abstrakt klass och gränssnitt i Java?

Den primära skillnaden mellan en abstrakt klass och gränssnitt är att ett gränssnitt endast kan ha deklaration av offentliga statiska metoder utan någon konkret implementering medan en abstrakt klass kan ha medlemmar med vilka som helst åtkomstspecifikationer (offentliga, privata etc) med eller utan konkret implementering.

En annan viktig skillnad i användningen av abstrakta klasser och gränssnitt är att en klass som implementerar ett gränssnitt måste implementera alla metoder i gränssnittet medan en klass som ärver från en abstrakt klass inte kräver implementering av alla metoder i sin superklass.

En klass kan implementera flera gränssnitt men den kan bara utöka en abstrakt klass.


19) Vilka är prestandaimplikationerna av gränssnitt över abstrakta klasser?

Gränssnitt är långsammare i prestanda jämfört med abstrakta klasser eftersom extra inriktningar krävs för gränssnitt. En annan nyckelfaktor för utvecklare att ta hänsyn till är att vilken klass som helst kan utöka endast en abstrakt klass medan en klass kan implementera många gränssnitt.

Användning av gränssnitt lägger också en extra börda på utvecklarna eftersom varje gång ett gränssnitt implementeras i en klass; utvecklaren tvingas implementera varje gränssnittsmetod.


20) Importerar ett paket även dess underpaket i Java?

I java, när ett paket importeras, importeras inte dess underpaket och utvecklaren måste importera dem separat om det behövs.

Till exempel, om en utvecklare importerar ett paketuniversitet.*, laddas alla klasser i paketet med namnet universitet men inga klasser från underpaketet laddas. För att ladda klasserna från dess underpaket (säg avdelning), måste utvecklaren importera det explicit enligt följande:

Import universitet.avdelning.*


21) Kan vi förklara huvudmetoden för vår klass som privat?

I java måste huvudmetoden vara offentlig statisk för att en applikation ska kunna köras korrekt. Om huvudmetoden deklareras som privat, kommer utvecklaren inte att få något kompileringsfel, men den kommer inte att köras och kommer att ge ett körtidsfel.


22) Hur kan vi skicka argument till en funktion genom referens istället för pass by value?

I java kan vi skicka argument till en funktion endast genom värde och inte genom referens.


23) Hur serialiseras ett objekt i java?

I java, för att konvertera ett objekt till byteström genom serialisering, implementeras ett gränssnitt med namnet Serializable av klassen. Alla objekt i en klass som implementerar serialiserbart gränssnitt serialiseras och deras tillstånd sparas i byteström.


24) När ska vi använda serialisering?

Serialisering används när data behöver överföras över nätverket. Med hjälp av serialisering sparas objektets tillstånd och omvandlas till byteström. Byteströmmen överförs över nätverket och objektet återskapas vid destinationen.


25) Är det obligatoriskt att ett Try-block följs av ett Catch Block in Java för undantagshantering?

Testblock måste följas av antingen Catch block eller Finally block eller båda. Alla undantag som kastas från försöksblocket måste antingen fångas in i fångstblocket eller så måste alla specifika uppgifter utföras innan kodabort placeras i Finally-blocket.


Java Intervjufrågor och svar för erfarna

26) Finns det något sätt att hoppa över Slutligen undantagsblock även om något undantag inträffar i undantagsblocket?

Om ett undantag görs i Try-blocket, övergår kontrollen till catch-blocket om det finns på annat sätt för att slutligen blockera. Finally block exekveras alltid när ett undantag inträffar och det enda sättet att undvika exekvering av några programsatser i Finally block är genom att tvångsavbryta koden genom att skriva följande kodrad i slutet av försöksblocket:

System.exit(0);

27) När konstruktorn för en klass anropas?

Konstruktören av en klass anropas varje gång ett objekt skapas med ett nytt nyckelord.

Till exempel, i följande klass skapas två objekt med nytt nyckelord och därför anropas konstruktorn två gånger.

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 klass ha flera konstruktörer?

Ja, en klass kan ha flera konstruktörer med olika parametrar. Vilken konstruktor som används för att skapa objekt beror på de argument som skickas när objekten skapas.


29) Kan vi åsidosätta statiska metoder för en klass?

Vi kan inte åsidosätta statiska metoder. Statiska metoder tillhör en klass och inte till enskilda objekt och löses vid tidpunkten för kompileringen (inte vid körning). Även om vi försöker åsidosätta den statiska metoden kommer vi inte att få ett komplitationsfel, inte heller effekten av åsidosättning när vi kör koda.


30) Vad blir resultatet i exemplet nedan?

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: Utdata blir:

Visar från underklass

Utskrift från superklass


31) Är String en datatyp i java?

String är inte en primitiv datatyp i java. När en sträng skapas i java är den faktiskt ett objekt för Java.Lang.String-klass som skapas. Efter att detta strängobjekt har skapats kan alla inbyggda metoder i klassen String användas på strängobjektet.


32) Hur många strängobjekt skapas i exemplet nedan?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

I exemplet ovan, två objekt av Java.Lang.String-klassen skapas. s1 och s3 är referenser till samma objekt.


33) Varför stränger in Java kallas som oföränderliga?

I java kallas strängobjekt oföränderliga eftersom när ett värde har tilldelats en sträng kan det inte ändras och om det ändras skapas ett nytt objekt.

I exemplet nedan hänvisar referens str till ett strängobjekt med värdet "Värde ett".

String str="Value One";

När ett nytt värde tilldelas det skapas ett nytt String-objekt och referensen flyttas till det nya objektet.

str="New Value";

34) Vad är skillnaden mellan en array och vektor?

En array grupperar data av samma primitiva typ och är statisk till sin natur medan vektorer är dynamiska till sin natur och kan innehålla data av olika datatyper.


35) Vad är multi-threading?

Multi threading är ett programmeringskoncept för att köra flera uppgifter samtidigt inom ett enda program. Trådar delar samma processstack och körs parallellt. Det hjälper till att förbättra prestanda för alla program.


36) Varför körbart gränssnitt används i Java?

Körbart gränssnitt används i java för att implementera flertrådade applikationer. Java.Lang.Runnable gränssnitt implementeras av en klass för att stödja multi threading.


37) Vilka är de två sätten att implementera multi-threading i Java?

Flergängade applikationer kan utvecklas i Java genom att använda någon av följande två metoder:

1) Genom att använda Java.Lang.Runnable Interface. Klasser implementerar detta gränssnitt för att möjliggöra flera trådar. Det finns en Run()-metod i detta gränssnitt som är implementerad.

2) Genom att skriva en klass som sträcker sig Java.Lang.Trådklass.


38) När det krävs många förändringar i data, vilken bör man föredra för att användas? String eller StringBuffer?

Sedan StringBuffers är dynamiska till sin natur och vi kan ändra värdena för StringBuffer objekt till skillnad från String som är oföränderlig, är det alltid ett bra val att använda StringBuffer när data ändras för mycket. Om vi ​​använder String i ett sådant fall, för varje dataändring kommer ett nytt String-objekt att skapas som kommer att vara en extra overhead.


39) Vad är syftet med att använda Break i varje fall av Switch Statement?

Break används efter varje fall (förutom det sista) i en switch så att koden bryter efter det giltiga fallet och inte flyter i de pågående fallen också.

Om break inte används efter varje fall, kommer alla fall efter det giltiga ärendet också att köras vilket resulterar i felaktiga resultat.


40) Hur sophämtning sker i Java?

I java, när ett objekt inte längre refereras, skräp samling sker och föremålet förstörs automatiskt. För automatisk sophämtning anropar java antingen System.gc()-metoden eller Runtime.gc()-metoden.


41) Hur kan vi exekvera vilken kod som helst innan huvudmetoden?

Om vi ​​vill exekvera några satser innan vi ens skapat objekt vid laddningstid för klassen, kan vi använda ett statiskt kodblock i klassen. Alla satser inuti detta statiska kodblock kommer att exekveras en gång vid tidpunkten för laddning av klassen även innan objekt skapas i huvudmetoden.


42) Kan en klass vara en superklass och en underklass samtidigt? Ge exempel.

Om det finns en hierarki av arv som används, kan en klass vara en superklass för en annan klass och en underklass för en annan samtidigt.

I exemplet nedan är kontinentklass underklass av världsklass och det är superklass av landsklass.

public class world {

..........

}
public class continenet extends world {

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

}
public class country extends continent {

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

}

43) Hur skapas objekt i en klass om ingen konstruktor är definierad i klassen?

Även om ingen explicit konstruktor är definierad i en java-klass, skapas objekt framgångsrikt eftersom en standardkonstruktor implicit används för att skapa objekt. Denna konstruktor har inga parametrar.


44) Hur kan vi försäkra oss om att en resurs inte används av flera trådar samtidigt i multi-threading?

I multi-threading kan åtkomst till resurserna som delas mellan flera trådar kontrolleras genom att använda konceptet med synkronisering. Använder synkroniserat nyckelord, kan vi säkerställa att endast en tråd kan använda delad resurs åt gången och andra kan få kontroll över resursen först när den har blivit fri från den andra som använder den.


45) Kan vi anropa konstruktorn för en klass mer än en gång för ett objekt?

Constructor anropas automatiskt när vi skapar ett objekt med nytt nyckelord. Det anropas endast en gång för ett objekt vid tidpunkten för objektskapandet och därför kan vi inte anropa konstruktorn igen för ett objekt efter dess skapelse.


46) Det finns två klasser som heter klass A och klass B. Båda klasserna är i samma paket. Kan en privat medlem i klassA nås av ett objekt i klassB?

Privata medlemmar i en klass är inte tillgängliga utanför omfattningen av den klassen och någon annan klass även i samma paket kan inte komma åt dem.


47) Kan vi ha två metoder i en klass med samma namn?

Vi kan definiera två metoder i en klass med samma namn men med olika antal/typ av parametrar. Vilken metod som ska anropas beror på vilka parametrar som skickas.

Till exempel i klassen nedan har vi två utskriftsmetoder med samma namn men olika parametrar. Beroende på parametrarna kommer lämplig en att kallas:

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) Hur kan vi göra en kopia av ett java-objekt?

Vi kan använda konceptet kloning för att skapa kopia av ett objekt. Med hjälp av klon skapar vi kopior med det faktiska tillståndet för ett objekt.

Clone() är en metod för Klonbart gränssnitt och därför måste Klonbart gränssnitt implementeras för att göra objektkopior.


49) Vad är fördelen med att använda arv?

Den viktigaste fördelen med att använda arv är återanvändning av kod eftersom arv gör det möjligt för underklasser att återanvända koden för sin superklass. Polymorfism (utvidgningsbarhet) är en annan stor fördel som gör att ny funktionalitet kan introduceras utan att befintliga härledda klasser påverkas.


50) Vad är standardåtkomstspecifikationen för variabler och metoder för en klass?

Standardåtkomstspecifikator för variabler och metod är paketskyddad, dvs variabler och klass är tillgängliga för alla andra klasser men i samma paket, inte utanför paketet.


51) Ge ett exempel på användning av Pointers i Java klass.

Det finns inga pekpinnar i Java. Så vi kan inte använda begreppet pekare i Java.


52) Hur kan vi begränsa arv för en klass så att ingen klass kan ärvas från den?

Om vi ​​vill att en klass inte ska utökas ytterligare med någon klass kan vi använda nyckelordet Slutlig med klassnamnet.

I följande exempel är Stone-klassen Final och kan inte förlängas

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

53) Vad är åtkomstomfånget för Protected Access specificator?

När en metod eller en variabel deklareras med Protected access specifier, blir den tillgänglig i samma klass, vilken annan klass som helst i samma paket såväl som en underklass.

byta Klass Paket Underklass Världen
allmän Y Y Y Y
skyddad Y Y Y N
ingen modifierare Y Y N N
privat Y N N N

54) Vad är skillnaden mellan Stack och Queue?

Stack och Queue används båda som platshållare för en insamling av data. Den primära skillnaden mellan en stack och en kö är att stack är baserad på Sist in först ut (LIFO)-principen medan en kö är baserad på FIFO-principen (First In First Out).


55) Hur kan vi inte tillåta serialisering av variabler i java?

Om vi ​​vill att vissa variabler i en klass inte ska serialiseras kan vi använda nyckelordet övergående samtidigt som man deklarerar dem. Till exempel är variabeln trans_var nedan en övergående variabel och kan inte serialiseras:

public class transientExample { 
	private transient trans_var; 
    // rest of the code 
}

56) Hur kan vi använda primitiva datatyper som objekt?

Primitiva datatyper som int kan hanteras som objekt genom att använda deras respektive omslagsklasser. Till exempel är Integer en omslagsklass för primitiv datatyp int. Vi kan tillämpa olika metoder på en wrapperklass, precis som alla andra objekt.


57) Vilka typer av undantag fångas upp vid sammanställning?

Markerade undantag kan fångas vid tidpunkten för programsammanställningen. Markerade undantag måste hanteras genom att använda try catch-blocket i koden för att framgångsrikt kompilera koden.


58) Beskriv olika tillstånd i en tråd.

En tråd in Java kan vara i något av följande tillstånd:

  • Klar: När en tråd skapas är den i läge Klar.
  • Körs: En tråd som körs för närvarande är i körläge.
  • Väntar: En tråd som väntar på att en annan tråd ska frigöra vissa resurser är i vänteläge.
  • Död: En tråd som har dött efter avrättningen är i dött tillstånd.

59) Kan vi använda en standardkonstruktor för en klass även om en explicit konstruktor är definierad?

Java tillhandahåller en standard ingen argumentkonstruktor om ingen explicit konstruktor är definierad i en Java klass. Men om en explicit konstruktor har definierats kan standardkonstruktorn inte anropas och utvecklaren kan endast använda de konstruktorer som är definierade i klassen.


60) Kan vi åsidosätta en metod genom att använda samma metodnamn och argument men olika returtyper?

Det grundläggande villkoret för metodöverstyrning är att metodnamn, argument och returtyp måste vara exakt samma som för metoden som åsidosätts. Att använda en annan returtyp åsidosätter därför inte en metod.


61) Vad blir resultatet av följande kod?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

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

I det här fallet används postfix ++ operator som först returnerar värdet och sedan ökar. Därför blir utgången 4.


61) En person säger att han kompilerade en java-klass framgångsrikt utan att ens ha en huvudmetod i den? Är det möjligt?

huvudmetoden är en ingångspunkt för Java klass och krävs dock för att köra programmet; en klass kompileras framgångsrikt även om den inte har en huvudmetod. Det går dock inte att köra.


62) Kan vi kalla en icke-statisk metod inifrån en statisk metod?

Icke-statiska metoder ägs av objekt i en klass och har objektnivåomfång och för att anropa de icke-statiska metoderna från ett statiskt block (som från en statisk huvudmetod), måste ett objekt i klassen skapas först. Med hjälp av objektreferens kan dessa metoder anropas.


63) Vilka är de två miljövariabler som måste ställas in för att köra någon Java program?

Java program kan köras i en maskin endast när följande två miljövariabler har ställts in korrekt:

  1. PATH-variabel
  2. CLASSPATH variabel

64) Kan variabler användas i Java utan initiering?

In Java, om en variabel används i en kod utan föregående initialisering med ett giltigt värde, kompilerar inte programmet och ger ett fel eftersom inget standardvärde tilldelas variabler i Java.


65) Kan en klass in Java ärvt från mer än en klass?

In Java, en klass kan härledas från endast en klass och inte från flera klasser. Flera arv stöds inte av Java.


66) Kan en konstruktor ha ett annat namn än ett klassnamn i Java?

Konstruktör i Java måste ha samma namn som klassnamnet och om namnet är annorlunda fungerar det inte som en konstruktor och kompilatorn ser det som en normal metod.


67) Vad blir resultatet av Round(3.7) och Ceil(3.7)?

Round(3.7) ger 4 och Ceil(3.7) ger 4.


68) Kan vi använda goto in Java gå till en viss linje?

In Java, det finns inget goto-sökord och java stöder inte den här funktionen att gå till en viss märkt rad.


69) Kan en död tråd startas igen?

I java kan en tråd som är i dött tillstånd inte startas igen. Det finns inget sätt att starta om en död tråd.


70) Är följande klassdeklaration korrekt?

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

Svar: Ovanstående klassdeklaration är felaktig eftersom en abstrakt klass inte kan förklaras som Final.


71) Krävs JDK på varje maskin för att köra en Java program?

JDK är utvecklingskit av Java och krävs endast för utveckling och för att köra en Java program på en maskin, JDK krävs inte. Endast JRE krävs.


72) Vad är skillnaden mellan jämförelse gjord med equals-metoden och ==-operatorn?

In Java, metoden equals() används för att jämföra innehållet i två strängobjekt och returnerar true om de två har samma värde medan ==-operatorn jämför referenserna för två strängobjekt.

I följande exempel returnerar equals() true eftersom de två strängobjekten har samma värden. Dock returnerar operatorn == false eftersom båda strängobjekten refererar till olika objekt:

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) Är det möjligt att definiera en metod i Java klass men ger den implementering i koden för ett annat språk som C?

Ja, vi kan göra detta genom att använda inhemska metoder. Vid infödd metodbaserad utveckling definierar vi offentliga statiska metoder i vår Java klass utan dess implementering och sedan görs implementeringen på ett annat språk som C separat.


74) Hur definieras förstörare i Java?

In Java, det finns inga destruktörer definierade i klassen eftersom det inte finns något behov av att göra det. Java har sin egen sophämtningsmekanism som gör jobbet automatiskt genom att förstöra objekten när de inte längre refereras.


Java Intervjufrågor och svar för 5+ års erfarenhet

75) Kan en variabel vara lokal och statisk samtidigt?

Nej en variabel kan inte vara statisk såväl som lokal samtidigt. Att definiera en lokal variabel som statisk ger kompileringsfel.


76) Kan vi ha statiska metoder i ett gränssnitt?

Statiska metoder kan inte åsidosättas i någon klass medan alla metoder i ett gränssnitt är som standard abstrakta och är tänkta att implementeras i klasserna som implementerar gränssnittet. Så det är ingen mening att ha statiska metoder i ett gränssnitt i Java.


77) Kan vi i en klass som implementerar ett gränssnitt ändra värdet på någon variabel som definieras i gränssnittet?

Nej, vi kan inte ändra värdet på någon variabel i ett gränssnitt i implementeringsklassen eftersom alla variabler som definieras i gränssnittet som standard är publika, statiska och slutliga och slutliga variabler är som konstanter som inte kan ändras senare.


78) Är det korrekt att säga att på grund av sophämtning finns i Java, går ett java-program aldrig ur minnet?

Även om automatisk sophämtning tillhandahålls av Java, det säkerställer inte att en Java programmet kommer inte att gå ur minnet eftersom det finns en möjlighet att skapa Java objekt görs i en snabbare takt jämfört med sophämtning, vilket resulterar i att alla tillgängliga minnesresurser fylls.

Så, sophämtning hjälper till att minska risken för att ett program går ur minnet, men det garanterar inte det.


79) Kan vi ha någon annan returtyp än ogiltig för huvudmetoden?

Nej Java klass huvudmetod kan endast ha void-returtyp för att programmet ska kunna köras framgångsrikt.

Icke desto mindre, om du absolut måste returnera ett värde till när huvudmetoden är klar, kan du använda System.exit(int status)


80) Jag vill nå och använda ett föremål igen när det har samlats upp. Hur är det möjligt?

När ett föremål har förstörts av sophämtare, finns det inte längre på högen och det kan inte nås igen. Det finns inget sätt att referera till det igen.


81) I Java trådprogrammering, vilken metod är ett måste för alla trådar?

Run() är en metod för körbart gränssnitt som måste implementeras av alla trådar.


82) Jag vill kontrollera databasanslutningar i mitt program och vill att endast en tråd ska kunna göra databasanslutningar åt gången. Hur kan jag implementera denna logik?

Svar: Detta kan implementeras med hjälp av konceptet synkronisering. Databasrelaterad kod kan placeras i en metod som hs synkroniserad nyckelord så att bara en tråd kan komma åt det åt gången.


83) Hur kan ett undantag kastas manuellt av en programmerare?

För att kasta ett undantag i ett kodblock manuellt, kasta nyckelord används. Då fångas detta undantag och hanteras i fångstblocket.

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

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

84) Jag vill att min klass ska utvecklas på ett sådant sätt att ingen annan klass (även härledd klass) kan skapa dess objekt. Hur kan jag göra det?

Om vi ​​förklarar konstruktören av en klass som privat kommer den inte att vara tillgänglig för någon annan klass och därför kommer ingen annan klass att kunna instansiera den och bildningen av dess objekt kommer att begränsas till sig själv.


85) Hur objekt lagras i Java?

I java får varje objekt när det skapas ett minnesutrymme från en hög. När ett föremål förstörs av en sophämtare, omfördelas utrymmet som tilldelats det från högen till högen och blir tillgängligt för alla nya föremål.


86) Hur kan vi hitta den faktiska storleken på ett föremål på högen?

I java finns det inget sätt att ta reda på den exakta storleken på ett objekt på högen.


87) Vilken av följande klasser kommer att ha mer minne tilldelat?

Klass A: Tre metoder, fyra variabler, inget objekt

Klass B: Fem metoder, tre variabler, inget objekt

Minne tilldelas inte innan objekt skapas. Eftersom det inte skapas några objekt för båda klasserna så inget minne tilldelas på heap för någon klass.


88) Vad händer om ett undantag inte hanteras i ett program?

Om ett undantag inte hanteras i ett program med try catch-block, avbryts programmet och ingen sats körs efter satsen som orsakade undantag.


89) Jag har flera konstruktorer definierade i en klass. Är det möjligt att anropa en konstruktör från en annan konstruktörs kropp?

Om en klass har flera konstruktorer är det möjligt att anropa en konstruktor från kroppen av en annan med hjälp av detta().


90) Vad menas med anonym klass?

En anonym klass är en klass som definieras utan något namn på en enda kodrad med nytt nyckelord.

Till exempel, i koden nedan har vi definierat en anonym klass i en kodrad:

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) Finns det något sätt att öka storleken på en array efter dess deklaration?

Matriser är statiska och när vi väl har specificerat dess storlek kan vi inte ändra den. Om vi ​​vill använda sådana samlingar där vi kan behöva ändra storlek (antal objekt), bör vi föredra vektor framför array.


92) Om ett program har flera klasser i sig, är det okej att ha en huvudmetod i mer än en klass?

Om det finns huvudmetod i mer än en klass i en java-applikation, kommer det inte att orsaka några problem eftersom ingångspunkten för någon applikation kommer att vara en specifik klass och koden startar endast från huvudmetoden för den specifika klassen.


93) Jag vill bevara data om objekt för senare användning. Vad är det bästa sättet att göra det?

Det bästa sättet att bevara data för framtida användning är att använda konceptet serialisering.


94) Vad är en lokal klass i Java?

In Java, om vi definierar en ny klass i ett visst block, kallas det en lokal klass. En sådan klass har lokalt omfång och är inte användbar utanför blocket där den definieras.


95) Stråk och stråkBuffer båda representerar strängobjekt. Kan vi jämföra String och StringBuffer in Java?

Fast String och StringBuffer båda representerar String-objekt, vi kan inte jämföra dem med varandra och om vi försöker jämföra dem får vi ett fel.


96) Vilket API tillhandahålls av Java för operationer på uppsättning objekt?

Java tillhandahåller ett samlings-API som tillhandahåller många användbara metoder som kan tillämpas på en uppsättning objekt. Några av de viktiga klasserna som tillhandahålls av Collection API inkluderar ArrayList, HashMap, TreeSet och TreeMap.


97) Kan vi gjuta någon annan typ till boolesk typ med typgjutning?

Nej, vi kan varken casta någon annan primitiv typ till boolesk datatyp eller kan casta boolesk datatyp till någon annan primitiv datatyp.


98) Kan vi använda olika returtyper för metoder när de åsidosätts?

Det grundläggande kravet på metod åsidosättande Java är att den åsidosatta metoden ska ha samma namn och parametrar. Men en metod kan åsidosättas med en annan returtyp så länge som den nya returtypen utökar originalet.

Till exempel returnerar metoden en referenstyp.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Vilken är basklassen för alla undantagsklasser?

In Java, Java.lang.Throwable är superklassen för alla undantagsklasser och alla undantagsklasser härleds från denna basklass.


100) Vad är ordningen för anrop av konstruktörer i arv?

I fallet med arv, när ett nytt objekt av en härledd klass skapas, anropas först superklassens konstruktor och sedan anropas konstruktorn för den härledda klassen.

Förbered dig för din jobbintervju!!! Gå igenom Java Handledning att vara bättre förberedd.

Denna detaljerade Java Mock Test Quiz hjälper dig att rensa bort tvivel om Java intervjufrågor och hjälper dig också att knäcka intervjun.

Dessa Java och Java 8 intervjufrågor kommer också att hjälpa till i din viva (orals)