100+ Java Haastattelukysymykset ja vastaukset (2026)
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?
Silmukointia käytetään ohjelmoinnissa suorittamaan käsky tai lausekelohko toistuvasti. On kolme 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 abstraktiksi ilman abstraktia menetelmää?
Kyllä, voimme luoda abstraktin luokan käyttämällä abstraktia avainsanaa ennen luokan nimeä, vaikka siinä ei olisi abstraktia menetelmää. Jos luokassa on kuitenkin yksikin abstrakti menetelmä, se on ilmoitettava abstraktiksi, muuten se antaa virheen.
18) Mitä eroa on abstraktin luokan ja käyttöliittymän välillä Java?
Ensisijainen ero abstraktin luokan ja rajapinnan välillä on se, että rajapinnalla voi olla vain julkisten staattisten menetelmien ilmoitus ilman konkreettista toteutusta, kun taas abstraktissa luokassa voi olla jäseniä, joilla on mitkä tahansa käyttöoikeusmääritykset (julkinen, yksityinen jne.) konkreettisen toteutuksen kanssa tai ilman.
Toinen keskeinen ero abstraktien luokkien ja rajapintojen käytössä on, että rajapinnan toteuttavan luokan on toteutettava kaikki rajapinnan menetelmät, kun taas abstraktista luokasta perivä luokka ei vaadi kaikkien superluokkansa menetelmien toteuttamista.
Luokka voi toteuttaa useita rajapintoja, mutta se voi laajentaa vain yhtä abstraktia luokkaa.
19) Mitkä ovat rajapintojen suorituskykyvaikutukset abstrakteihin luokkiin nähden?
Liitännät ovat suorituskyvyltään hitaampia verrattuna abstrakteihin luokkiin, koska liitännät edellyttävät ylimääräisiä ohjeita. Toinen avaintekijä, joka kehittäjien on otettava huomioon, on, että mikä tahansa luokka voi laajentaa vain yhtä abstraktia luokkaa, 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?
Serialisointia käytetään, kun tietoja on siirrettävä verkon kautta. Serialisoinnin avulla objektin tila tallennetaan ja muunnetaan tavuvirraksi. Tavuvirta siirretään verkon yli ja objekti luodaan uudelleen määränpäähän.
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:
- PATH-muuttuja
- 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
}
V: Yllä oleva luokkailmoitus on virheellinen, koska abstraktia luokkaa ei voida ilmoittaa 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 menetelmiä ei voida ohittaa missään luokassa, kun taas kaikki rajapinnan menetelmät ovat oletusarvoisesti abstrakteja ja ne on tarkoitus toteuttaa rajapintaa toteuttavissa luokissa. Ei siis ole mitään järkeä käyttää staattisia menetelmiä käyttöliittymässä 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)
