100+ Java Haastattelukysymykset ja vastaukset (2026)

Tรคssรค on Java haastattelukysymyksiรค ja vastauksia tuoreemmille ja kokeneemmille hakijoille saadakseen unelmatyรถnsรค.

 

Java Ohjelmointihaastattelun kysymyksiรค ja vastauksia fuksilaisille

1) Mitรค eroa on sisรคluokan ja alaluokan vรคlillรค?

Sisรคluokka on luokka, joka on sisรคkkรคin toisen luokan sisรคllรค. Sisรคisellรค luokalla on kรคyttรถoikeudet sen sisรคkkรคiseen luokkaan ja se voi kรคyttรครค kaikkia ulomman luokan muuttujia ja menetelmiรค.

Alaluokka on luokka, joka perii toisesta luokasta nimeltรค superluokka. Alaluokka voi kรคyttรครค kaikkia superluokkansa julkisia ja suojattuja menetelmiรค ja kenttiรค.

๐Ÿ‘‰ Ilmainen PDF-lataus: Java Haastattelu Haastattelukysymykset ja vastaukset >>


2) Mihin erilaiset kรคyttรถoikeusmรครคritykset ovat Java luokat?

In Java, kรคyttรถoikeusmรครคritykset ovat avainsanoja, joita kรคytetรครคn ennen luokan nimeรค, joka mรครคrittรครค pรครคsyn laajuuden. Luokkien kรคyttรถoikeusmรครคritteiden tyypit ovat:

1) Julkinen: Class, Method, Field on kรคytettรคvissรค mistรค tahansa.

2) Suojattu: Method,Field pรครคsee kรคsiksi samasta luokasta, johon ne kuuluvat tai alaluokista, ja saman paketin luokasta, mutta ei ulkopuolelta.

3) Oletus: Method,Field,class pรครคsee kรคsiksi vain samasta paketista, ei sen alkuperรคisen paketin ulkopuolelta.

4) Yksityinen: Method,Field voidaan kรคyttรครค samasta luokasta, johon ne kuuluvat.


3) Mikรค on staattisten menetelmien ja staattisten muuttujien tarkoitus?

Kun menetelmรค tai muuttuja on jaettava luokan useiden objektien vรคlillรค sen sijaan, ettรค luotaisiin erillisiรค kopioita jokaisesta objektista, teemme staattisen avainsanan avulla menetelmรคn tai muuttujan, joka jaetaan kaikille objekteille.


4) Mitรค on datan kapselointi ja mikรค on sen merkitys?

Kapselointi on olio-ohjelmoinnin konsepti ominaisuuksien ja menetelmien yhdistรคmiseksi yhdeksi yksikรถksi.

Kapselointi auttaa ohjelmoijia noudattamaan modulaarista lรคhestymistapaa ohjelmistokehitykseen, koska jokaisella objektilla on omat menetelmรคt ja muuttujat ja se palvelee toimintojaan muista objekteista riippumatta. Kapselointi palvelee myรถs tietojen piilottamista.


5) Mikรค on singleton luokka? Anna kรคytรคnnรถn esimerkki sen kรคytรถstรค.

Javassa yksittรคisellรค luokalla voi olla vain yksi esiintymรค, joten kaikki sen menetelmรคt ja muuttujat kuuluvat vain yhteen esiintymรครคn. Singleton-luokkakonsepti on hyรถdyllinen tilanteissa, joissa on tarve rajoittaa luokan objektien mรครคrรครค.

Paras esimerkki singleton-kรคyttรถskenaariosta on, kun vain yhden yhteyden muodostaminen tietokantaan on rajoitettu joidenkin ajurien rajoitusten tai lisenssiongelmien vuoksi.


6) Mitรค silmukat ovat Java? Mitรค kolmea silmukkaa on?

Vessaping kรคytetรครคn ohjelmoinnissa suorittamaan lauseke tai lauselohko toistuvasti. On olemassa kolme funktiota tyyppisiรค silmukoita Java:

1) Loopsille

For silmukoita kรคytetรครคn Javassa lausekkeiden suorittamiseen toistuvasti tietyn mรครคrรคn kertoja. For silmukoita kรคytetรครคn, kun ohjelmoija tietรครค, kuinka monta kertaa lauseet suoritetaan.

2) Vaikka silmukat

Vaikka silmukkaa kรคytetรครคn, kun tietyt lauseet on suoritettava toistuvasti, kunnes ehto tรคyttyy. While-silmukassa ehto tarkistetaan ensin ennen lauseiden suorittamista.

3) Tee While Loops

Do While Loop on sama kuin While-silmukka sillรค erolla, ettรค ehto tarkistetaan lauselohkon suorittamisen jรคlkeen. Nรคin ollen do while -silmukan tapauksessa kรคskyt suoritetaan vรคhintรครคn kerran.


7) Mikรค on รครคretรถn silmukka? Kuinka รครคretรถn silmukka julistetaan?

ร„รคretรถn silmukka kulkee ilman ehtoja ja kulkee รครคrettรถmรคsti. ร„รคretรถn silmukka voidaan katkaista mรครคrittelemรคllรค mikรค tahansa katkaisulogiikka kรคskylohkojen rungossa.

ร„รคretรถn silmukka ilmoitetaan seuraavasti:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Mitรค eroa on jatkaa- ja break-lauseella?

tauko ja jatka ovat kaksi tรคrkeรครค Loopsissa kรคytettyรค avainsanaa. Kun silmukassa kรคytetรครคn break-avainsanaa, silmukka katkeaa vรคlittรถmรคsti, kun taas jatka-avainsanaa kรคytetรครคn, nykyinen iteraatio katkeaa ja silmukka jatkuu seuraavalla iteraatiolla.

Alla olevassa esimerkissรค silmukka katkeaa, kun laskuri saavuttaa 4:n.

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

if (counter == 4) {

    break;
}

}

Alla olevassa esimerkissรค laskurin saavuttaessa 4:n silmukka hyppรครค seuraavaan iteraatioon ja kaikki jatka-avainsanan jรคlkeiset lauseet ohitetaan nykyisessรค iteraatiossa.

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) Mitรค eroa on tuplamuuttujien ja kelluvien muuttujien vรคlillรค Java?

Javassa float vie muistista 4 tavua Double vie 8 tavua muistista. Float on yhden tarkkuuden liukuluku desimaaliluku while Double on kaksinkertainen tarkkuus desimaaliluku.


10) Mikรค on lopullinen avainsana? Java? Anna esimerkki.

Javassa vakio ilmoitetaan avainsanalla Final. Arvo voidaan antaa vain kerran ja mรครคrityksen jรคlkeen vakion arvoa ei voi muuttaa.

Alla olevassa esimerkissรค vakio, jonka nimi on const_val, ilmoitetaan ja sille annetaan arvo:

Yksityinen Final int const_val=100

Kun menetelmรค julistetaan lopulliseksi, alaluokat EIVร„T voi ohittaa sitรค. Tรคmรค menetelmรค on nopeampi kuin mikรครคn muu menetelmรค, koska ne ratkaistaan โ€‹โ€‹mรครคrรคttynรค aikana.

Kun luokka julistetaan lopulliseksi, sitรค ei voi alaluokkia. Esimerkkimerkkijono, kokonaisluku ja muut kรครคreluokat.


11) Mikรค on kolmioperaattori? Anna esimerkki.

Kolmiosaista operaattoria, jota kutsutaan myรถs ehdolliseksi operaattoriksi, kรคytetรครคn mรครคrittรคmรครคn muuttujalle annettava arvo Boolen arvon arvioinnin perusteella. Se on merkitty ?

Alla olevassa esimerkissรค, jos sijoitus on 1, tilalle annetaan arvo "Valmis" tai "Odottaa".

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

12) Kuinka voit luoda satunnaislukuja Java?

  • Kรคyttรคmรคllรค Math.random() voit luoda satunnaislukuja alueella, joka on suurempi tai yhtรค suuri kuin 0.1 ja pienempi kuin 1.0
  • Random-luokan kรคyttรถ paketissa java.util

13) Mikรค on oletuskytkinkotelo? Anna esimerkki.

Jonkin sisรคllรค vaihtaa lausunto, oletustapaus suoritetaan, kun mikรครคn muu kytkimen ehto ei vastaa. Oletustapaus on valinnainen tapaus. Se voidaan ilmoittaa vasta, kun kaikki muut kytkintapaukset on koodattu.

Alla olevassa esimerkissรค, kun pistemรครคrรค ei ole 1 tai 2, kรคytetรครคn oletuskirjainkoosta.

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) Mikรค on perusluokka Java josta kaikki luokat on johdettu?

java.lang.object


15) Voiko main()-menetelmรคn sisรครคn Java voiko palauttaa mitรครคn tietoja?

Javassa main()-menetelmรค ei voi palauttaa mitรครคn tietoja, joten se on aina ilmoitettu void-palautustyypillรค.


16) Mitkรค ovat Java Paketit? Mikรค on pakettien merkitys?

In Java, paketti on kokoelma luokkia ja rajapintoja, jotka on niputettu yhteen, koska ne liittyvรคt toisiinsa. Pakettien kรคyttรถ auttaa kehittรคjiรค modulisoimaan koodin ja ryhmittelemรครคn koodin oikeaa uudelleenkรคyttรถรค varten. Kun koodi on pakattu Paketteihin, se voidaan tuoda muihin luokkiin ja kรคyttรครค.


17) Voimmeko julistaa luokan Abs:ksi?tract ilman vatsalihaksiatract-menetelmรค?

Kyllรค, me voimme luoda vatsalihaksettract-luokka kรคyttรคmรคllรค abs-lihaksiatracavainsana t ennen luokan nimeรค, vaikka sillรค ei olisikaan abs-lukuatract-menetelmรค. Jos luokalla on kuitenkin parillinen abstract-menetelmรค, se on ilmoitettava abs-muodossatracmuuten se antaa virheen.


18) Mitรค eroa on vatsalihaksillatract-luokka ja rajapinta Java?

Ensisijainen ero vatsalihasten vรคlillรคtract-luokan ja rajapinnan vรคlinen ero on se, ettรค rajapinnalla voi olla vain julkisten staattisten metodien deklarointi ilman konkreettista toteutusta, kun taas abs-tract-luokalla voi olla jรคseniรค, joilla on mitkรค tahansa kรคyttรถoikeusmรครคritteet (julkinen, yksityinen jne.) konkreettisella toteutuksella tai ilman.

Toinen keskeinen ero vatsalihasten kรคytรถssรคtract-luokkien ja rajapintojen ongelmana on, ettรค rajapinnan toteuttavan luokan on toteutettava kaikki rajapinnan metodit, kun taas luokan, joka perii abs-rajapinnastatract-luokka ei vaadi kaikkien yliluokan metodien toteuttamista.

Luokka voi toteuttaa useita rajapintoja, mutta se voi laajentaa vain yhtรค rajapintaa.tract-luokka.


19) Mitรค suorituskykyvaikutuksia rajapinnoilla on abs-painotteisiin verrattuna?tract-luokat?

Rajapintojen suorituskyky on hitaampi kuin abs-laitteillatract-luokat, koska rajapintoja varten tarvitaan ylimรครคrรคisiรค epรคsuoraja operaattoreita. Toinen tรคrkeรค tekijรค, joka kehittรคjien on otettava huomioon, on se, ettรค mikรค tahansa luokka voi laajentaa vain yhtรค absorptiofunktiota.tract-luokka, kun taas luokka voi toteuttaa useita rajapintoja.

Liitรคntรถjen kรคyttรถ asettaa myรถs ylimรครคrรคistรค taakkaa kehittรคjille, koska aina kun rajapinta toteutetaan luokassa; kehittรคjรค on pakotettu toteuttamaan jokainen kรคyttรถliittymรคtapa.


20) Tuoko paketin tuonti myรถs sen alipaketit sisรครคn Java?

Javassa, kun paketti tuodaan, sen alipaketteja ei tuoda ja kehittรคjรคn on tuotava ne erikseen tarvittaessa.

Jos kehittรคjรค esimerkiksi tuo yliopisto-paketin.*, kaikki yliopisto-nimisen paketin luokat ladataan, mutta alipaketin luokat ei ladata. Ladatakseen luokat alipaketistaan โ€‹โ€‹(esimerkiksi osastolta), kehittรคjรคn on tuotava se nimenomaisesti seuraavasti:

Tuo yliopisto.osasto.*


21) Voimmeko julistaa luokkamme pรครคmenetelmรคn yksityiseksi?

Javassa pรครคmenetelmรคn on oltava julkinen staattinen, jotta mikรค tahansa sovellus toimii oikein. Jos pรครคmenetelmรค ilmoitetaan yksityiseksi, kehittรคjรค ei saa kรครคnnรถsvirhettรค, mutta sitรค ei suoriteta ja se antaa ajonaikaisen virheen.


22) Kuinka voimme vรคlittรครค argumentin funktiolle viittauksella arvon ohittamisen sijaan?

Javassa voimme vรคlittรครค argumentin funktiolle vain arvon eikรค viittauksen perusteella.


23) Miten objekti serialisoidaan javassa?

Javassa objektin muuntamiseksi tavuvirraksi sarjoittamalla luokka toteuttaa Serializable-nimisen rajapinnan. Kaikki sarjotettavan rajapinnan toteuttavan luokan objektit sarjotetaan ja niiden tila tallennetaan tavuvirtaan.


24) Milloin meidรคn pitรคisi kรคyttรครค serialisointia?

Sarjallistamista kรคytetรครคn, kun dataa on transmitlรคhetetรครคn verkon kautta. Sarjoittamista kรคytettรคessรค objektin tila tallennetaan ja muunnetaan tavuvirraksi. Tavuvirta siirretรครคn verkon kautta ja objekti luodaan uudelleen kohteessa.


25) Onko pakollista, ettรค Try Blockia seuraa Catch Block in Java poikkeuskรคsittelyyn?

Kokeile lohkoa on seurattava joko Catch block tai Lopuksi lohko tai molemmat. Kaikki try-lohkosta tehdyt poikkeukset on joko kiinnitettรคvรค catch-lohkoon tai muuten kaikki tietyt tehtรคvรคt, jotka on suoritettava ennen kuin koodin keskeytys asetetaan Lopuksi-lohkoon.


Java Haastattelukysymyksiรค ja vastauksia kokeneille

26) Onko mahdollista ohittaa lopuksi poikkeuslohko, vaikka poikkeuslohkossa esiintyisi jokin poikkeus?

Jos Try-lohkossa herรคtetรครคn poikkeus, ohjaus siirtyy tartuntalohkoon, jos se on olemassa, muuten lopullinen esto. Lopuksi lohko suoritetaan aina poikkeuksen sattuessa, ja ainoa tapa vรคlttรครค lauseiden suorittaminen Lopuksi-lohkossa on keskeyttรครค koodi vรคkisin kirjoittamalla seuraava koodirivi try-lohkon loppuun:

System.exit(0);

27) Kun luokan rakentajaa kutsutaan?

Luokan rakentaja kutsutaan aina, kun objekti luodaan uudella avainsanalla.

Esimerkiksi seuraavassa luokassa kaksi objektia luodaan kรคyttรคmรคllรค uutta avainsanaa ja siten konstruktoria kutsutaan kaksi kertaa.

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) Voiko luokassa olla useita rakentajia?

Kyllรค, luokassa voi olla useita rakentajia eri parametreillรค. Se, mitรค rakentajaa kรคytetรครคn objektien luomiseen, riippuu objekteja luotaessa vรคlitetyistรค argumenteista.


29) Voimmeko ohittaa luokan staattiset menetelmรคt?

Emme voi ohittaa staattisia menetelmiรค. Staattiset menetelmรคt kuuluvat luokkaan eivรคtkรค yksittรคisiin objekteihin, ja ne ratkaistaan โ€‹โ€‹kรครคnnรถshetkellรค (ei ajon aikana). Vaikka yritรคmme ohittaa staattisen menetelmรคn, emme saa komplitaatiovirhettรค emmekรค ohituksen vaikutusta suoritettaessa koodi.


30) Mikรค on alla olevan esimerkin tulos?

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: Lรคhtรถ tulee olemaan:

Nรคytetรครคn alaluokasta

Tulostus superluokasta


31) Onko String tietotyyppi javassa?

Merkkijono ei ole primitiivinen tietotyyppi javassa. Kun merkkijono luodaan javassa, se on itse asiassa objekti Java.Lang.String-luokka, joka luodaan. Tรคmรคn merkkijonoobjektin luomisen jรคlkeen kaikkia String-luokan sisรครคnrakennettuja menetelmiรค voidaan kรคyttรครค merkkijonoobjektissa.


32) Kuinka monta merkkijonoobjektia luodaan alla olevassa esimerkissรค?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

Yllรค olevassa esimerkissรค kaksi objektia JavaLuodaan .Lang.String-luokka. s1 ja s3 ovat viittauksia samaan objektiin.


33) Miksi Strings in Java kutsutaan muuttumattomiksi?

Javassa merkkijonoobjekteja kutsutaan muuttumattomiksi, koska kun merkkijonolle on annettu arvo, sitรค ei voi muuttaa, ja jos sitรค muutetaan, luodaan uusi objekti.

Alla olevassa esimerkissรค viite str viittaa merkkijonoobjektiin, jonka arvo on "Arvo yksi".

String str="Value One";

Kun sille mรครคritetรครคn uusi arvo, luodaan uusi String-objekti ja viite siirretรครคn uuteen objektiin.

str="New Value";

34) Mitรค eroa on taulukolla ja vektorilla?

Taulukko ryhmittelee samaa primitiivityyppistรค dataa ja on luonteeltaan staattista, kun taas vektorit ovat luonteeltaan dynaamisia ja voivat sisรคltรครค eri tietotyyppejรค.


35) Mikรค on monisรคikeisyys?

Multi threading on ohjelmointikonsepti useiden tehtรคvien suorittamiseksi samanaikaisesti yhdessรค ohjelmassa. Sรคikeillรค on sama prosessipino ja ne toimivat rinnakkain. Se auttaa parantamaan minkรค tahansa ohjelman suorituskykyรค.


36) Miksi Runnable Interfacea kรคytetรครคn Java?

Ajettavaa kรคyttรถliittymรครค kรคytetรครคn Javassa monisรคikeisten sovellusten toteuttamiseen. Java.Lang.Runnable-rajapinta on toteutettu luokan toimesta tukemaan monisรคikeistystรค.


37) Mitkรค ovat kaksi tapaa toteuttaa monisรคikeisyys? Java?

Monisรคikeisiรค sovelluksia voidaan kehittรครค Java kรคyttรคmรคllรค jotakin seuraavista kahdesta menetelmรคstรค:

1) kรคyttรคmรคllรค Java.Lang.Runnable Interface. Luokat toteuttavat tรคmรคn kรคyttรถliittymรคn mahdollistaakseen monisรคikeistyksen. Tรคssรค kรคyttรถliittymรคssรค on Run()-menetelmรค, joka on toteutettu.

2) kirjoittamalla luokka, joka ulottuu Java.Lang.Sangaluokka.


38) Kun tietoihin vaaditaan paljon muutoksia, kumpaa kannattaa kรคyttรครค? String tai StringBuffer?

Stringistรค lรคhtienBuffers ovat luonteeltaan dynaamisia ja voimme muuttaa merkkijonon arvojaBuffer objektit toisin kuin String, joka on muuttumaton, on aina hyvรค valinta kรคyttรครค merkkijonoaBuffer kun tietoja muutetaan liikaa. Jos kรคytรคmme Stringiรค tรคllaisessa tapauksessa, jokaiselle datamuutokselle luodaan uusi String-objekti, joka on ylimรครคrรคinen lisรคkustannus.


39) Mikรค on Breakin kรคytรถn tarkoitus kussakin Switch-lauseessa?

Katkoa kรคytetรครคn kytkimessรค jokaisen tapauksen jรคlkeen (paitsi viimeinen), jotta koodi katkeaa voimassa olevan tapauksen jรคlkeen eikรค kulje myรถskรครคn kรคsittelytapauksissa.

Jos taukoa ei kรคytetรค jokaisen tapauksen jรคlkeen, myรถs kaikki voimassa olevan tapauksen jรคlkeiset tapaukset suoritetaan, mikรค johtaa vรครคriin tuloksiin.


40) Miten roskien kerรคys tapahtuu Java?

Javassa, kun objektiin ei enรครค viitata, Roskakokoelma tapahtuu ja esine tuhoutuu automaattisesti. Automaattista roskienkeruuta varten java kutsuu joko System.gc()- tai Runtime.gc()-metodia.


41) Kuinka voimme suorittaa minkรค tahansa koodin jopa ennen pรครคmenetelmรครค?

Jos haluamme suorittaa kรคskyjรค ennen objektien luomista luokan latausaikana, voimme kรคyttรครค luokassa staattista koodilohkoa. Kaikki tรคmรคn staattisen koodilohkon sisรคltรคmรคt kรคskyt suoritetaan kerran luokan lataushetkellรค, jopa ennen objektien luomista pรครคmenetelmรคssรค.


42) Voiko luokka olla samaan aikaan superluokka ja alaluokka? Anna esimerkki.

Jos kรคytรถssรค on periytymishierarkia, luokka voi olla samaan aikaan superluokka toiselle luokalle ja alaluokka toiselle samaan aikaan.

Alla olevassa esimerkissรค mannerluokka on maailmanluokan alaluokka ja maaluokan superluokka.

public class world {

..........

}
public class continenet extends world {

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

}
public class country extends continent {

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

}

43) Miten luokan objektit luodaan, jos luokassa ei ole mรครคritetty konstruktoria?

Vaikka java-luokassa ei ole mรครคritetty eksplisiittistรค konstruktoria, objektit luodaan onnistuneesti, koska oletuskonstruktoria kรคytetรครคn implisiittisesti objektien luomiseen. Tรคllรค rakentajalla ei ole parametreja.


44) Kuinka voimme varmistua monisรคikeisestรค resurssista, ettรค useat sรคikeet eivรคt kรคytรค resurssia samanaikaisesti?

Monisรคikeessรค pรครคsyรค resursseihin, jotka jaetaan useiden sรคikeiden kesken, voidaan hallita kรคyttรคmรคllรค synkronoinnin kรคsitettรค. Kรคyttรคmรคllรค synkronoitu avainsana, voimme varmistaa, ettรค vain yksi sรคie voi kรคyttรครค jaettua resurssia kerrallaan ja muut voivat saada resurssin hallintaansa vasta, kun se on vapautunut toisesta sitรค kรคyttรคvรคstรค sรคiettรค.


45) Voimmeko kutsua luokan konstruktoria useammin kuin kerran objektille?

Rakentaja kutsutaan automaattisesti, kun luomme objektin kรคyttรคmรคllรค uutta avainsanaa. Sitรค kutsutaan vain kerran objektille objektin luomisen aikana, joten emme voi kutsua konstruktoria uudelleen objektille sen luomisen jรคlkeen.


46) On olemassa kaksi luokkaa, luokka A ja luokka B. Molemmat luokat ovat samassa paketissa. Voiko luokan A yksityistรค jรคsentรค kรคyttรครค luokan B objektilla?

Luokan yksityiset jรคsenet eivรคt ole kรคytettรคvissรค kyseisen luokan ulkopuolella, eikรค mikรครคn muu luokka edes samassa paketissa voi kรคyttรครค niitรค.


47) Voiko luokassa olla kaksi menetelmรครค samalla nimellรค?

Voimme mรครคritellรค kaksi menetelmรครค luokassa samalla nimellรค, mutta eri parametrien lukumรครคrรคllรค/tyypeillรค. Se, mikรค menetelmรค kutsutaan, riippuu vรคlitetyistรค parametreista.

Esimerkiksi alla olevassa luokassa meillรค on kaksi tulostusmenetelmรครค, joilla on sama nimi, mutta eri parametrit. Parametreista riippuen sopivaa kutsutaan nimellรค:

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) Kuinka voimme tehdรค kopion java-objektista?

Voimme kรคyttรครค kloonauksen kรคsitettรค luodaksesi kopion objektista. Kloonia kรคyttรคmรคllรค luomme kopioita kohteen todellisen tilan mukaan.

Clone() on kloonattavan kรคyttรถliittymรคn menetelmรค, ja siksi Kloonattava kรคyttรถliittymรค on otettava kรคyttรถรถn objektikopioiden tekemiseen.


49) Mitรค hyรถtyรค periytymisestรค on?

Periรถnnรถn kรคytรถn tรคrkein etu on koodin uudelleenkรคytettรคvyys, koska perinnรถn ansiosta alaluokat voivat kรคyttรครค uudelleen superluokkansa koodia. Polymorfismi (laajennettavuus) on toinen suuri etu, joka mahdollistaa uusien toimintojen kรคyttรถรถnoton vaikuttamatta olemassa oleviin johdettuihin luokkiin.


50) Mikรค on luokan muuttujien ja menetelmien oletuskรคyttรถoikeus?

Muuttujien ja menetelmรคn oletuskรคyttรถoikeusmรครคrittรคjรค on paketissa suojattu eli muuttujat ja luokka ovat kaikkien muiden luokkien kรคytettรคvissรค, mutta samassa paketissa, ei paketin ulkopuolella.


51) Anna esimerkki osoittimien kรคytรถstรค Java luokka.

Siinรค ei ole viitteitรค Java. Emme siis voi kรคyttรครค osoittimien kรคsitettรค Java.


52) Kuinka voimme rajoittaa luokan periytymistรค siten, ettรค siitรค ei voida periรค mitรครคn luokkaa?

Jos haluamme, ettei luokkaa laajenneta millรครคn luokalla, voimme kรคyttรครค avainsanaa pรครค luokan nimellรค.

Seuraavassa esimerkissรค Stone-luokka on lopullinen, eikรค sitรค voida laajentaa

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

53) Mikรค on Protected Access -mรครคritteen kรคyttรถoikeus?

Kun menetelmรค tai muuttuja on ilmoitettu suojatun pรครคsyn mรครคritteen kanssa, se tulee saataville samassa luokassa, missรค tahansa muussa saman paketin luokassa sekรค aliluokassa.

muutos luokka Paketti alaluokka Maailma
julkinen Y Y Y Y
suojattu Y Y Y N
ei muuntajaa Y Y N N
yksityinen Y N N N

54) Mitรค eroa pinolla ja jonolla on?

Pinoa ja jonoa kรคytetรครคn molempia paikkamerkkinรค tietojen kerรครคmiseen. Ensisijainen ero pinon ja jonon vรคlillรค on, ettรค pino perustuu LIFO-periaatteeseen, kun taas jono perustuu FIFO-periaatteeseen (First In First Out).


55) Kuinka voimme kieltรครค muuttujien serialisoinnin Javassa?

Jos haluamme, ettรค luokan tiettyjรค muuttujia ei sarjoiteta, voimme kรคyttรครค avainsanaa ohimenevรค julistaessaan niitรค. Esimerkiksi alla oleva muuttuja trans_var on ohimenevรค muuttuja, eikรค sitรค voida sarjottaa:

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

56) Kuinka voimme kรคyttรครค primitiivisiรค tietotyyppejรค objekteina?

Primitiivisiรค tietotyyppejรค, kuten int, voidaan kรคsitellรค objekteina kรคyttรคmรคllรค niiden vastaavia kรครคreluokkia. Esimerkiksi kokonaisluku on kรครคreluokka primitiiviselle tietotyypille int. Voimme soveltaa erilaisia โ€‹โ€‹menetelmiรค kรครคreluokkaan, aivan kuten mihin tahansa muuhun objektiin.


57) Minkรค tyyppiset poikkeukset havaitaan kรครคnnรถshetkellรค?

Tarkistetut poikkeukset voidaan havaita ohjelmaa kรครคnnettรคessรค. Tarkistetut poikkeukset tulee kรคsitellรค kรคyttรคmรคllรค koodissa olevaa try catch -lohkoa, jotta koodi voidaan kรครคntรครค onnistuneesti.


58) Kuvaile sรคikeen eri tiloja.

Lanka sisรครคn Java voi olla jommassakummassa seuraavista tiloista:

  • Valmis: Kun sรคiettรค luodaan, se on Valmis-tilassa.
  • Kรคynnissรค: parhaillaan suoritettava sรคie on kรคynnissรค-tilassa.
  • Odottaa: Sรคie, joka odottaa toista sรคiettรค vapauttaakseen tiettyjรค resursseja, on odotustilassa.
  • Kuollut: Suorituksen jรคlkeen kuollut sรคie on kuolleessa tilassa.

59) Voimmeko kรคyttรครค luokan oletuskonstruktoria, vaikka eksplisiittinen konstruktori olisi mรครคritelty?

Java tarjoaa oletusarvoisen ei argumenttikonstruktorin, jos a:ssa ei ole mรครคritetty eksplisiittistรค konstruktoria Java luokkaa. Mutta jos eksplisiittinen konstruktori on mรครคritetty, oletuskonstruktoria ei voida kutsua ja kehittรคjรค voi kรคyttรครค vain luokassa mรครคritettyjรค konstruktoreita.


60) Voimmeko ohittaa menetelmรคn kรคyttรคmรคllรค samaa menetelmรคn nimeรค ja argumentteja, mutta eri palautustyyppejรค?

Metodin ohituksen perusedellytys on, ettรค menetelmรคn nimen, argumenttien ja palautustyypin tulee olla tรคsmรคlleen samat kuin ohitettavan metodin. Tรคstรค syystรค toisen palautustyypin kรคyttรคminen ei ohita menetelmรครค.


61) Mikรค on seuraavan koodin tulos?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

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

Tรคssรค tapauksessa kรคytetรครคn postfix ++ -operaattoria, joka ensin palauttaa arvon ja lisรครค sen jรคlkeen. Siksi sen tulos on 4.


61) Henkilรถ sanoo, ettรค hรคn kรครคnsi java-luokan onnistuneesti ilman, ettรค siinรค oli edes pรครคmenetelmรครค? Onko se mahdollista?

pรครคmenetelmรค on sisรครคntulopiste Java luokkaa ja tarvitaan kuitenkin ohjelman suorittamiseen; luokka kรครคnnetรครคn onnistuneesti, vaikka sillรค ei olisi pรครคmenetelmรครค. Sitรค ei kuitenkaan voi ajaa.


62) Voimmeko kutsua ei-staattista menetelmรครค sisรคltรค staattiseksi?

Ei-staattiset menetelmรคt ovat luokan objektien omistamia ja niillรค on objektitason laajuus, ja jotta ei-staattisia menetelmiรค voidaan kutsua staattisesta lohkosta (kuten staattisesta pรครคmenetelmรคstรค), luokan objekti on ensin luotava. Sitten nรคmรค menetelmรคt voidaan kutsua objektiviittauksen avulla.


63) Mitkรค ovat kaksi ympรคristรถmuuttujaa, jotka on asetettava, jotta ne voidaan suorittaa Java ohjelmia?

Java ohjelmia voidaan suorittaa koneessa vain, kun seuraavat kaksi ympรคristรถmuuttujaa on asetettu oikein:

  1. PATH-muuttuja
  2. CLASSPATH-muuttuja

64) Voidaanko muuttujia kรคyttรครค Java ilman alustusta?

In Java, jos muuttujaa kรคytetรครคn koodissa ilman edeltรคvรครค alustusta kelvollisella arvolla, ohjelma ei kรครคnnรค ja antaa virheen, koska muuttujille ei ole annettu oletusarvoa. Java.


65) Voiko luokka sisรครคn Java periytyรค useammasta kuin yhdestรค luokasta?

In Java, luokka voidaan johtaa vain yhdestรค luokasta, ei useista luokista. Useita perintรถjรค ei tueta Java.


66) Voiko rakentajalla olla eri nimi kuin luokan nimellรค Java?

Rakentaja mukana Java tรคytyy olla sama nimi kuin luokan nimellรค ja jos nimi on eri, se ei toimi rakentajana ja kรครคntรคjรค pitรครค sitรค normaalina menetelmรคnรค.


67) Mikรค on Round(3.7) ja Ceil(3.7) tulos?

Round(3.7) palauttaa 4 ja Ceil(3.7) 4.


68) Voimmeko kรคyttรครค goto in Java mennรค tietylle riville?

In Java, goto-avainsanaa ei ole eikรค java tue tรคtรค ominaisuutta siirtyรค tietylle nimetylle riville.


69) Voidaanko kuollut sรคie aloittaa uudelleen?

Javassa kuolleessa tilassa olevaa sรคiettรค ei voi aloittaa uudelleen. Kuollutta ketjua ei voi kรคynnistรครค uudelleen.


70) Onko seuraava luokkailmoitus oikein?

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

Vastaus: Yllรค oleva luokkailmoitus on virheellinen abs-lauseena.tract-luokkaa ei voida julistaa lopulliseksi.


71) Vaaditaanko JDK jokaisessa koneessa ajon suorittamiseen Java ohjelmoida?

JDK on kehityspaketti Java ja sitรค tarvitaan vain kehittรคmiseen ja a Java ohjelma koneella, JDK:ta ei vaadita. Vain JRE vaaditaan.


72) Mitรค eroa on equals-menetelmรคllรค tehdyn vertailun ja ==-operaattorin vรคlillรค?

In Java, equals() -menetelmรครค kรคytetรครคn vertaamaan kahden merkkijonoobjektin sisรคltรถรค ja palauttaa tosi, jos molemmilla on sama arvo, kun taas ==-operaattori vertaa kahden merkkijonoobjektin viittauksia.

Seuraavassa esimerkissรค equals() palauttaa tosi, koska kahdella merkkijonoobjektilla on samat arvot. Kuitenkin ==-operaattori palauttaa false, koska molemmat merkkijonoobjektit viittaavat eri objekteihin:

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) Onko mahdollista mรครคritellรค menetelmรค Java luokkaa, mutta anna sen toteutus toisen kielen, kuten C:n, koodissa?

Kyllรค, voimme tehdรค tรคmรคn kรคyttรคmรคllรค alkuperรคisiรค menetelmiรค. Natiivimenetelmรคpohjaisen kehityksen tapauksessa mรครคrittelemme julkiset staattiset menetelmรคt omassamme Java luokkaan ilman sen toteutusta ja sitten toteutus tehdรครคn toisella kielellรค, kuten C erikseen.


74) Kuinka tuhoajat mรครคritellรครคn kohdassa Java?

In Java, luokassa ei ole mรครคritetty tuhoajia, koska niin ei ole tarvetta. Java on oma roskankerรคysmekanismi, joka tekee tyรถn automaattisesti tuhoamalla objektit, kun niihin ei enรครค viitata.


Java Haastattelukysymyksiรค ja vastauksia yli 5 vuoden kokemuksella

75) Voiko muuttuja olla paikallinen ja staattinen samanaikaisesti?

Ei, muuttuja ei voi olla yhtรค aikaa staattinen ja paikallinen. Paikallisen muuttujan mรครคrittรคminen staattiseksi antaa kรครคnnรถsvirheen.


76) Voiko rajapinnassa olla staattisia menetelmiรค?

Staattisia metodeja ei voida korvata missรครคn luokassa, kun taas kaikki rajapinnan metodit ovat oletusarvoisesti abstract ja niiden on tarkoitus toteutua rajapinnan toteuttavissa luokissa. Joten staattisten metodien kรคyttรคminen rajapinnassa ei ole jรคrkevรครค Java.


77) Voimmeko rajapintaa toteuttavassa luokassa muuttaa minkรค tahansa rajapinnassa mรครคritellyn muuttujan arvoa?

Ei, emme voi muuttaa toteutusluokan rajapinnan minkรครคn muuttujan arvoa, koska kaikki rajapinnassa mรครคritellyt muuttujat ovat oletuksena julkisia, staattiset ja Lopulliset ja lopulliset muuttujat ovat kuin vakioita, joita ei voi muuttaa myรถhemmin.


78) Onko oikein sanoa, ettรค roskatkerรคysominaisuuden takia Java, Java-ohjelma ei koskaan lopu muistista?

Vaikka automaattinen jรคtteenkeruu tarjoaa Java, se ei takaa, ettรค a Java Ohjelma ei lopu muistista, koska se on mahdollista Java objektit tehdรครคn nopeammin kuin roskien kerรครคminen, mikรค johtaa kaikkien kรคytettรคvissรค olevien muistiresurssien tรคyttymiseen.

Joten roskien kerรครคminen auttaa vรคhentรคmรครคn ohjelman muistin loppumisen mahdollisuuksia, mutta se ei takaa sitรค.


79) Voiko pรครคmenetelmรคlle olla muuta palautustyyppiรค kuin void?

Ei, Java luokan pรครคmenetelmรคllรค voi olla vain void-palautustyyppi, jotta ohjelma voidaan suorittaa onnistuneesti.

Siitรค huolimatta, jos sinun on ehdottomasti palautettava arvo pรครคmenetelmรคn pรครคtyttyรค, voit kรคyttรครค parametria System.exit(int status)


80) Haluan tavoittaa ja kรคyttรครค esinettรค uudelleen, kun se on kerรคtty roskat. Miten se on mahdollista?

Kun roskankerรครคjรค on tuhonnut esineen, sitรค ei enรครค ole kasassa eikรค siihen voi enรครค pรครคstรค kรคsiksi. Siihen ei voi viitata uudelleen.


81) Sisรครคn Java sรคikeen ohjelmointi, mikรค menetelmรค on pakollinen toteutus kaikille sรคikeille?

Run() on suoritettavan kรคyttรถliittymรคn menetelmรค, joka on toteutettava kaikissa sรคikeissรค.


82) Haluan hallita tietokantayhteyksiรค ohjelmassani ja haluan, ettรค vain yksi sรคie pystyy muodostamaan tietokantayhteyden kerrallaan. Kuinka voin toteuttaa tรคmรคn logiikan?

V: Tรคmรค voidaan toteuttaa kรคyttรคmรคllรค synkronoinnin kรคsitettรค. Tietokantaan liittyvรค koodi voidaan sijoittaa menetelmรครคn, joka hs synkronoitu avainsana, jotta vain yksi sรคiettรค voi kรคyttรครค sitรค kerrallaan.


83) Kuinka ohjelmoija voi tehdรค poikkeuksen manuaalisesti?

Voit heittรครค poikkeuksen koodilohkoon manuaalisesti, heittรครค avainsanaa kรคytetรครคn. Sitten tรคmรค poikkeus kiinnitetรครคn ja kรคsitellรครคn kiinnityslohkossa.

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

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

84) Haluan, ettรค luokkaani kehitetรครคn siten, ettei mikรครคn muu luokka (edes johdettu luokka) voi luoda objektejaan. Miten voin tehdรค niin?

Jos julistamme luokan rakentajan yksityiseksi, mikรครคn muu luokka ei pรครคse siihen kรคsiksi, joten mikรครคn muu luokka ei pysty instantoimaan sitรค ja sen objektin muodostus rajoittuu vain hรคneen.


85) Miten esineet tallennetaan Java?

Javassa jokainen objekti luodessaan saa muistitilan kasasta. Kun roskankerรครคjรค tuhoaa esineen, sille varattu tila kasasta jaetaan uudelleen kasaan, ja se on kรคytettรคvissรค uusille kohteille.


86) Kuinka lรถydรคmme kasan kohteen todellisen koon?

Javassa ei ole mahdollista saada selville kasan kohteen tarkkaa kokoa.


87) Millรค seuraavista luokista on varattu enemmรคn muistia?

Luokka A: Kolme menetelmรครค, neljรค muuttujaa, ei objektia

Luokka B: Viisi menetelmรครค, kolme muuttujaa, ei objektia

Muistia ei varata ennen objektien luomista. Koska molemmille luokille ei ole luotu objekteja, joten muistia ei varata kasaan millekรครคn luokalle.


88) Mitรค tapahtuu, jos poikkeusta ei kรคsitellรค ohjelmassa?

Jos ohjelmassa ei kรคsitellรค poikkeusta try catch -lohkoilla, ohjelma keskeytyy eikรค mitรครคn kรคskyรค suoriteta poikkeuksen aiheuttaneen kรคskyn jรคlkeen.


89) Luokassani on mรครคritetty useita konstruktoreita. Onko mahdollista kutsua rakentajaa toisen rakentajan kehosta?

Jos luokassa on useita rakentajia, on mahdollista kutsua yksi konstruktori toisen kรคyttรคvรคn rakentajan rungosta Tรคmรค().


90) Mitรค anonyymiluokka tarkoittaa?

Anonyymi luokka on luokka, joka mรครคritellรครคn ilman nimeรค yhdellรค koodirivillรค kรคyttรคmรคllรค uutta avainsanaa.

Esimerkiksi alla olevassa koodissa olemme mรครคrittรคneet anonyymin luokan yhdelle koodiriville:

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) Onko mahdollista lisรคtรค taulukon kokoa sen ilmoittamisen jรคlkeen?

Taulukot ovat staattisia, ja kun olemme mรครคrittรคneet sen koon, emme voi muuttaa sitรค. Jos haluamme kรคyttรครค sellaisia โ€‹โ€‹kokoelmia, joissa saatamme vaatia koon muutosta (ei kohteiden mรครคrรครค), meidรคn tulisi suosia vektoria taulukon sijaan.


92) Jos sovelluksessa on useita luokkia, voiko pรครคmenetelmรค olla useammassa kuin yhdessรค luokassa?

Jos Java-sovelluksessa on pรครคmenetelmรค useammassa kuin yhdessรค luokassa, se ei aiheuta ongelmia, koska minkรครคn sovelluksen aloituskohta on tietty luokka ja koodi alkaa vain kyseisen luokan pรครคmenetelmรคstรค.


93) Haluan sรคilyttรครค objektien tiedot myรถhempรครค kรคyttรถรค varten. Mikรค on paras tapa tehdรค niin?

Paras tapa sรคilyttรครค dataa tulevaa kรคyttรถรค varten on kรคyttรครค serialisoinnin kรคsitettรค.


94) Missรค paikallisluokka on? Java?

In Java, jos mรครคritรคmme uuden luokan tietyn lohkon sisรคllรค, sitรค kutsutaan paikalliseksi luokaksi. Tรคllaisella luokalla on paikallinen laajuus, eikรค sitรค voida kรคyttรครค sen lohkon ulkopuolella, jossa se on mรครคritelty.


95) String ja StringBuffer molemmat edustavat merkkijono-objekteja. Voimmeko verrata merkkijonoa ja merkkijonoaBuffer in Java?

Vaikka String ja StringBuffer molemmat edustavat merkkijono-objekteja, emme voi verrata niitรค toisiinsa ja jos yritรคmme verrata niitรค, saamme virheen.


96) Mikรค API tarjoaa Java toimintoihin objektijoukolla?

Java tarjoaa Collection API:n, joka tarjoaa monia hyรถdyllisiรค menetelmiรค, joita voidaan soveltaa joukkoon objekteja. Jotkut Collection API:n tarjoamista tรคrkeistรค luokista ovat ArrayList, HashMap, TreeSet ja TreeMap.


97) Voimmeko heittรครค Boolen tyyppiin mitรค tahansa muuta tyyppiรค tyyppivalolla?

Ei, emme voi lรคhettรครค mitรครคn muuta primitiivistรค tyyppiรค Boolen tietotyyppiin emmekรค voi lรคhettรครค Boolen tietotyyppiรค mihinkรครคn muuhun primitiiviseen tietotyyppiin.


98) Voimmeko kรคyttรครค eri palautustyyppejรค menetelmille, kun ne ohitetaan?

Metodin ohituksen perusvaatimus Java on, ettรค ohitetulla menetelmรคllรค tulee olla sama nimi ja parametrit.Mutta menetelmรค voidaan ohittaa eri palautustyypillรค niin kauan kuin uusi palautustyyppi laajentaa alkuperรคistรค.

Esimerkiksi menetelmรค palauttaa viitetyypin.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Mikรค on kaikkien poikkeusluokkien perusluokka?

In Java, Java.lang.Throwable on kaikkien poikkeusluokkien superluokka ja kaikki poikkeusluokat on johdettu tรคstรค perusluokasta.


100) Mikรค on rakentajien kutsun jรคrjestys periytymisessรค?

Periytystapauksessa, kun johdetun luokan uusi objekti luodaan, kutsutaan ensin superluokan konstruktori ja sitten vedetyn luokan konstruktori.

Valmistaudu tyรถhaastatteluun!!! Mennรค lรคpi Java oppitunti olla paremmin valmistautunut.

Tรคmรค yksityiskohtainen Java Mock Test Quiz auttaa sinua poistamaan epรคilykset Java haastattelukysymyksiรค ja auttaa sinua myรถs haastattelun murtamisessa.

Nรคmรค Java ja Java 8 haastattelukysymystรค auttaa myรถs vivassasi (suussa)

Tiivistรค tรคmรค viesti seuraavasti: