100 + Java Pitanja i odgovori za intervju (2026.)

Ovdje su Java pitanja i odgovori na intervjuu za svjeลพije kao i iskusne kandidate da dobiju posao iz snova.

 

Java Pitanja i odgovori za intervju za programiranje za brucoลกe

1) Koja je razlika izmeฤ‘u unutarnje klase i podklase?

Unutarnja klasa je klasa koja je ugnijeลพฤ‘ena unutar druge klase. Unutarnja klasa ima prava pristupa za klasu koja ju ugnijeลพฤ‘uje i moลพe pristupiti svim varijablama i metodama definiranim u vanjskoj klasi.

Podklasa je klasa koja nasljeฤ‘uje drugu klasu koja se naziva super klasa. Podklasa moลพe pristupiti svim javnim i zaลกtiฤ‡enim metodama i poljima svoje super klase.

๐Ÿ‘‰ Besplatno preuzimanje PDF-a: Java Intervju Intervju Pitanja i odgovori >>


2) ฤŒemu sluลพe razni specifikatori pristupa Java razredi?

In Java, specifikatori pristupa su kljuฤne rijeฤi koje se koriste prije naziva klase koji definira opseg pristupa. Vrste specifikacija pristupa za klase su:

1) Javno: Class, Method, Field dostupni su s bilo kojeg mjesta.

2) Zaลกtiฤ‡eno: Method, Field se moลพe pristupiti iz iste klase kojoj pripadaju ili iz pod-klasa, te iz klase istog paketa, ali ne izvana.

3) Zadano: Metodi, polju, klasi moลพe se pristupiti samo iz istog paketa, a ne izvan izvornog paketa.

4) Privatno: Method, Field se moลพe pristupiti iz iste klase kojoj pripadaju.


3) Koja je svrha statiฤkih metoda i statiฤkih varijabli?

Kada postoji zahtjev za dijeljenjem metode ili varijable izmeฤ‘u viลกe objekata klase umjesto stvaranja zasebnih kopija za svaki objekt, koristimo kljuฤnu rijeฤ static kako bismo naฤinili metodu ili varijablu dijeljenom za sve objekte.


4) ล to je enkapsulacija podataka i koji je njen znaฤaj?

Enkapsulacija je koncept u objektno orijentiranom programiranju za kombiniranje svojstava i metoda u jednoj jedinici.

Enkapsulacija pomaลพe programerima da slijede modularni pristup za razvoj softvera jer svaki objekt ima vlastiti skup metoda i varijabli i sluลพi svojim funkcijama neovisno o drugim objektima. Enkapsulacija takoฤ‘er sluลพi u svrhu skrivanja podataka.


5) ล to je singleton klasa? Navedite praktiฤan primjer njegove uporabe.

Jednostruka klasa u Javi moลพe imati samo jednu instancu i stoga sve njezine metode i varijable pripadaju samo jednoj instanci. Koncept jednostruke klase koristan je u situacijama kada postoji potreba za ograniฤenjem broja objekata za klasu.

Najbolji primjer scenarija koriลกtenja s jednom jedinicom je kada postoji ograniฤenje samo jedne veze s bazom podataka zbog nekih ograniฤenja upravljaฤkog programa ili zbog problema s licenciranjem.


6) ล to su Loops in Java? Koje su tri vrste petlji?

Petlja se koristi u programiranju za uzastopno izvrลกavanje naredbe ili bloka naredbe. Postoje tri vrste petlji u Java:

1) Za petlje

For petlje se koriste u Javi za ponavljanje naredbi odreฤ‘eni broj puta. For petlje se koriste kada je programeru poznato koliko puta treba izvrลกiti naredbe.

2) Dok petlje

Dok se petlja koristi kada se odreฤ‘ene naredbe moraju ponavljati dok se uvjet ne ispuni. U while petljama, uvjet se prvo provjerava prije izvoฤ‘enja naredbi.

3) Uradite while petlje

Do While petlja je ista kao i while petlja samo s razlikom da se uvjet provjerava nakon izvoฤ‘enja bloka naredbi. Dakle, u sluฤaju do while petlje, naredbe se izvode barem jednom.


7) ล to je beskonaฤna petlja? Kako se deklarira beskonaฤna petlja?

Beskonaฤna petlja radi bez ikakvih uvjeta i radi beskonaฤno. Beskonaฤna petlja moลพe se prekinuti definiranjem bilo koje prekidajuฤ‡e logike u tijelu blokova iskaza.

Beskonaฤna petlja se deklarira na sljedeฤ‡i naฤin:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Koja je razlika izmeฤ‘u naredbe continue i break?

break i continue dvije su vaลพne kljuฤne rijeฤi koje se koriste u petljama. Kada se kljuฤna rijeฤ break koristi u petlji, petlja se trenutno prekida, dok kada se koristi kljuฤna rijeฤ continue, trenutna iteracija se prekida i petlja se nastavlja sa sljedeฤ‡om iteracijom.

U donjem primjeru, petlja je prekinuta kada brojaฤ dosegne 4.

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

if (counter == 4) {

    break;
}

}

U donjem primjeru kada brojaฤ dosegne 4, petlja skaฤe na sljedeฤ‡u iteraciju i sve naredbe nakon kljuฤne rijeฤi continue se preskaฤu za trenutnu iteraciju.

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) Koja je razlika izmeฤ‘u varijabli double i float u Java?

U Javi, float zauzima 4 bajta u memoriji dok Double zauzima 8 bajtova u memoriji. Float je decimalni broj s pomiฤnim zarezom jednostruke preciznosti while Double je decimalni broj dvostruke preciznosti.


10) U ฤemu je konaฤna kljuฤna rijeฤ Java? Navedite primjer.

U Javi se konstanta deklarira pomoฤ‡u kljuฤne rijeฤi Final. Vrijednost se moลพe dodijeliti samo jednom i nakon dodjele vrijednost konstante se ne moลพe mijenjati.

U donjem primjeru deklarirana je konstanta s imenom const_val i dodijeljena joj je vrijednost:

Privatni zavrลกni int const_val=100

Kada je metoda deklarirana kao konaฤna, NE mogu je nadjaฤati podklase. Ova metoda je brลพa od bilo koje druge metode jer se rjeลกavaju u odreฤ‘eno vrijeme.

Kada je klasa deklarirana kao konaฤna, ne moลพe biti potklasa. Primjer String, Integer i drugih klasa omotaฤa.


11) ล to je ternarni operator? Navedite primjer.

Ternarni operator, koji se naziva i uvjetni operator, koristi se za odluฤivanje koju vrijednost dodijeliti varijabli na temelju procjene Booleove vrijednosti. Oznaฤava se kao ?

U donjem primjeru, ako je rang 1, statusu se dodjeljuje vrijednost "Gotovo" ili "Na ฤekanju".

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

12) Kako moลพete generirati sluฤajne brojeve u Java?

  • Pomoฤ‡u Math.random() moลพete generirati sluฤajne brojeve u rasponu veฤ‡em od ili jednakom 0.1 i manjem od 1.0
  • Koriลกtenje Random klase u paketu java.util

13) ล to je zadano prebacivanje velikih i malih slova? Navedite primjer.

U izjava prebaciti, zadani sluฤaj se izvrลกava kada nijedan drugi uvjet prekidaฤa ne odgovara. Zadani sluฤaj je izborni sluฤaj. Moลพe se deklarirati samo nakon ลกto su svi ostali sluฤajevi prebacivanja kodirani.

U donjem primjeru, kada rezultat nije 1 ili 2, koristi se zadana veliฤina.

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) U ฤemu je osnovna klasa Java iz kojeg su sve klase izvedene?

java.lang.object


15) Moลพe li metoda main() in Java moลพe vratiti bilo kakve podatke?

U Javi, main() metoda ne moลพe vratiti nikakve podatke i stoga se uvijek deklarira s void tipom povrata.


16) ล to su Java Paketi? Koji je znaฤaj paketa?

In Java, paket je kolekcija klasa i suฤelja koji su povezani zajedno jer su povezani jedni s drugima. Upotreba paketa pomaลพe programerima da modulariziraju kod i grupiraju kod za ispravnu ponovnu upotrebu. Nakon ลกto se kod zapakira u pakete, moลพe se uvesti u druge klase i koristiti.


17) Moลพemo li klasu deklarirati kao apstraktnu bez ikakve apstraktne metode?

Da, moลพemo stvoriti apstraktnu klasu koriลกtenjem apstraktne kljuฤne rijeฤi prije naziva klase ฤak i ako nema nikakvu apstraktnu metodu. Meฤ‘utim, ako klasa ima samo jednu apstraktnu metodu, ona mora biti deklarirana kao apstraktna inaฤe ฤ‡e dati pogreลกku.


18) Koja je razlika izmeฤ‘u apstraktne klase i suฤelja u Java?

Primarna razlika izmeฤ‘u apstraktne klase i suฤelja je u tome ลกto suฤelje moลพe imati samo deklaraciju javnih statiฤkih metoda bez konkretne implementacije, dok apstraktna klasa moลพe imati ฤlanove s bilo kojim specifikacijama pristupa (javnim, privatnim itd.) sa ili bez konkretne implementacije.

Joลก jedna kljuฤna razlika u koriลกtenju apstraktnih klasa i suฤelja je da klasa koja implementira suฤelje mora implementirati sve metode suฤelja dok klasa koja nasljeฤ‘uje od apstraktne klase ne zahtijeva implementaciju svih metoda svoje super klase.

Klasa moลพe implementirati viลกe suฤelja, ali moลพe proลกiriti samo jednu apstraktnu klasu.


19) Koje su implikacije izvedbe suฤelja na apstraktne klase?

Suฤelja imaju sporiju izvedbu u usporedbi s apstraktnim klasama jer su za suฤelja potrebne dodatne indirektne upute. Drugi kljuฤni ฤimbenik koji programeri trebaju uzeti u obzir je da svaka klasa moลพe proลกiriti samo jednu apstraktnu klasu dok klasa moลพe implementirati mnogo suฤelja.

Koriลกtenje suฤelja takoฤ‘er stavlja dodatni teret na programere kao i svaki put kada je suฤelje implementirano u klasi; programer je prisiljen implementirati svaku pojedinu metodu suฤelja.


20) Uvozi li uvoz paketa i njegove pod-pakete Java?

U Javi, kada se paket uvozi, njegovi pod-paketi se ne uvoze i programer ih mora zasebno uvesti ako je potrebno.

Na primjer, ako programer uveze paket sveuฤiliลกte.*, uฤitavaju se sve klase u paketu pod nazivom sveuฤiliลกte, ali se ne uฤitavaju klase iz potpaketa. Za uฤitavanje klasa iz njegovog pod-paketa (recimo odjel), programer ga mora eksplicitno uvesti na sljedeฤ‡i naฤin:

Uvezi sveuฤiliลกte.odsjek.*


21) Moลพemo li glavnu metodu naลกe klase proglasiti privatnom?

U Javi glavna metoda mora biti javna statiฤna kako bi se bilo koja aplikacija ispravno pokrenula. Ako je glavna metoda deklarirana kao privatna, programer neฤ‡e dobiti nikakvu pogreลกku kompilacije, meฤ‘utim, neฤ‡e se izvrลกiti i javit ฤ‡e pogreลกku vremena izvoฤ‘enja.


22) Kako moลพemo proslijediti argument funkciji referencom umjesto prosljeฤ‘ivanja vrijednosti?

U Javi moลพemo proslijediti argument funkciji samo prema vrijednosti, a ne prema referenci.


23) Kako se objekt serijalizira u Javi?

U Javi, za pretvaranje objekta u tok bajtova serijalizacijom, klasa implementira suฤelje s imenom Serializable. Svi objekti klase koja implementira suฤelje koje se moลพe serijalizirati se serijaliziraju i njihovo stanje se sprema u tok bajtova.


24) Kada bismo trebali koristiti serijalizaciju?

Serijalizacija se koristi kada podatke treba prenijeti preko mreลพe. Koriลกtenjem serijalizacije, stanje objekta se sprema i pretvara u tok bajtova. Tok bajtova se prenosi preko mreลพe i objekt se ponovno stvara na odrediลกtu.


25) Je li obavezno da nakon Try Block-a slijedi Catch Block Java za rukovanje iznimkama?

Blok pokuลกaja treba slijediti ili blok Catch ili blok Finally ili oboje. Svaka iznimka izbaฤena iz bloka pokuลกaja mora biti ili uhvaฤ‡ena u bloku catch ili se u suprotnom bilo koji specifiฤni zadaci koji se trebaju izvrลกiti prije prekida koda stavlja u blok Finally.


Java Pitanja i odgovori za intervju za iskusne

26) Postoji li neki naฤin da se preskoฤi Finally blok iznimke ฤak i ako se neka iznimka dogodi u bloku iznimke?

Ako se u bloku Try pokrene iznimka, kontrola prelazi na blok catch ako inaฤe postoji za konaฤno blokiranje. Blok Finally se uvijek izvrลกava kada se dogodi iznimka i jedini naฤin da se izbjegne izvrลกavanje bilo koje naredbe u bloku Finally je prisilno prekidanje koda pisanjem sljedeฤ‡eg retka koda na kraju bloka pokuลกaja:

System.exit(0);

27) Kada se poziva konstruktor klase?

Konstruktor klase se poziva svaki put kada se kreira objekt s novom kljuฤnom rijeฤi.

Na primjer, u sljedeฤ‡oj klasi dva su objekta stvorena koriลกtenjem nove kljuฤne rijeฤi i stoga se konstruktor poziva dva puta.

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) Moลพe li klasa imati viลกe konstruktora?

Da, klasa moลพe imati viลกe konstruktora s razliฤitim parametrima. Koji ฤ‡e se konstruktor koristiti za stvaranje objekta ovisi o argumentima proslijeฤ‘enim tijekom kreiranja objekata.


29) Moลพemo li nadjaฤati statiฤke metode klase?

Ne moลพemo nadjaฤati statiฤke metode. Statiฤke metode pripadaju klasi, a ne pojedinaฤnim objektima i rjeลกavaju se u vrijeme kompilacije (ne tijekom izvoฤ‘enja). ฤŒak i ako pokuลกamo nadjaฤati statiฤku metodu, neฤ‡emo dobiti pogreลกku komplikacije, niti utjecaj nadjaฤavanja prilikom pokretanja kodirati.


30) U donjem primjeru, ลกto ฤ‡e biti izlaz?

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();

    }

}

Odg: Izlaz ฤ‡e biti:

Prikaz iz potklase

Ispis iz superklase


31) Je li String tip podataka u Javi?

String nije primitivni tip podataka u Javi. Kada se niz kreira u Javi, on je zapravo objekt Java.Lang.String klasa koja se stvara. Nakon kreiranja ovog string objekta, sve ugraฤ‘ene metode klase String mogu se koristiti na string objektu.


32) U donjem primjeru, koliko String objekata je kreirano?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

U gornjem primjeru, dva objekta od JavaStvaraju se klase .Lang.String. s1 i s3 su reference na isti objekt.


33) Zaลกto Strings in Java nazivaju se nepromjenjivim?

U Javi se objekti znakovnog niza nazivaju nepromjenjivim jer jednom kad se nizu dodijeli vrijednost, ne moลพe se promijeniti, a ako se promijeni, stvara se novi objekt.

U donjem primjeru, referenca str se odnosi na objekt niza koji ima vrijednost "Vrijednost jedan".

String str="Value One";

Kada mu se dodijeli nova vrijednost, stvara se novi String objekt i referenca se premjeลกta na novi objekt.

str="New Value";

34) Koja je razlika izmeฤ‘u polja i vektora?

Niz grupira podatke istog primitivnog tipa i po prirodi je statiฤan, dok su vektori po prirodi dinamiฤni i mogu sadrลพavati podatke razliฤitih tipova podataka.


35) ล to je viลกenitnost?

Multi threading je koncept programiranja za pokretanje viลกe zadataka na istodoban naฤin unutar jednog programa. Niti dijele isti stog procesa i izvode se paralelno. Pomaลพe u poboljลกanju performansi bilo kojeg programa.


36) Zaลกto se Runnable Interface koristi u Java?

Runnable suฤelje koristi se u Javi za implementaciju aplikacija s viลกe niti. Java.Lang.Runnable suฤelje implementira klasa za podrลกku viลกenitnosti.


37) Koja su dva naฤina implementacije viลกenitnosti u Java?

Mogu se razvijati aplikacije s viลกe niti Java koriลกtenjem bilo koje od sljedeฤ‡e dvije metodologije:

1) Koriลกtenjem Java.Lang.Runnable suฤelje. Klase implementiraju ovo suฤelje kako bi omoguฤ‡ile viลกenitnost. U ovom suฤelju postoji metoda Run() koja je implementirana.

2) Pisanjem klase koja se proลกiruje Java.Lang.Razred niti.


38) Kada je potrebno puno promjena u podacima, koju biste prednost trebali koristiti? ลฝica ili ลฝicaBuffer?

Buduฤ‡i da StringBuffers su dinamiฤke prirode i moลพemo mijenjati vrijednosti nizaBuffer objekata za razliku od Stringa koji je nepromjenjiv, uvijek je dobar izbor koristiti StringBuffer kada se podaci previลกe mijenjaju. Ako koristimo String u takvom sluฤaju, za svaku promjenu podataka kreirat ฤ‡e se novi String objekt ลกto ฤ‡e biti dodatno optereฤ‡enje.


39) Koja je svrha koriลกtenja Break u svakom sluฤaju naredbe Switch?

Prijelom se koristi nakon svakog sluฤaja (osim posljednjeg) u prekidaฤu tako da se kod prekida nakon vaลพeฤ‡eg sluฤaja i ne teฤe ni u narednim sluฤajevima.

Ako se break ne koristi nakon svakog sluฤaja, svi sluฤajevi nakon vaลพeฤ‡eg sluฤaja takoฤ‘er se izvrลกavaju ลกto rezultira pogreลกnim rezultatima.


40) Kako se vrลกi odvoz smeฤ‡a u Java?

U Javi, kada objekt viลกe nije referenciran, kolekcija smeฤ‡a odvija se i objekt se automatski uniลกtava. Za automatsko sakupljanje smeฤ‡a Java poziva metodu System.gc() ili metodu Runtime.gc().


41) Kako moลพemo izvrลกiti bilo koji kod ฤak i prije glavne metode?

Ako ลพelimo izvrลกiti bilo kakve naredbe ฤak i prije stvaranja objekata u vrijeme uฤitavanja klase, moลพemo koristiti statiฤki blok koda u klasi. Sve izjave unutar ovog statiฤkog bloka koda izvrลกit ฤ‡e se jednom u trenutku uฤitavanja klase ฤak i prije stvaranja objekata u glavnoj metodi.


42) Moลพe li klasa biti super klasa i podklasa u isto vrijeme? Navedite primjer.

Ako se koristi hijerarhija nasljeฤ‘ivanja, klasa moลพe biti super klasa za drugu klasu i podklasa za drugu u isto vrijeme.

U donjem primjeru, klasa kontinenta je podklasa svjetske klase i to je super klasa klase zemlje.

public class world {

..........

}
public class continenet extends world {

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

}
public class country extends continent {

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

}

43) Kako se kreiraju objekti klase ako u klasi nije definiran konstruktor?

ฤŒak i ako u java klasi nije definiran eksplicitni konstruktor, objekti se uspjeลกno stvaraju jer se zadani konstruktor implicitno koristi za stvaranje objekta. Ovaj konstruktor nema parametara.


44) U multi-threadingu kako moลพemo osigurati da resurs ne koristi viลกe niti istovremeno?

U multi-threadingu, pristup resursima koji se dijele izmeฤ‘u viลกe niti moลพe se kontrolirati koriลกtenjem koncepta sinkronizacije. Koriลกtenje sinkronizirana kljuฤna rijeฤ, moลพemo osigurati da samo jedna nit moลพe koristiti zajedniฤki resurs u isto vrijeme, a drugi mogu dobiti kontrolu nad resursom tek nakon ลกto se oslobodi od druge koja ga koristi.


45) Moลพemo li pozvati konstruktor klase viลกe puta za objekt?

Konstruktor se poziva automatski kada kreiramo objekt koristeฤ‡i novu kljuฤnu rijeฤ. Poziva se samo jednom za objekt u vrijeme stvaranja objekta i stoga ne moลพemo ponovno pozvati konstruktor za objekt nakon njegove izrade.


46) Postoje dvije klase pod nazivom classA i classB. Obje klase su u istom paketu. Moลพe li privatnom ฤlanu klase A pristupiti objekt klase B?

Privatni ฤlanovi klase nisu dostupni izvan opsega te klase i bilo koja druga klasa ฤak ni u istom paketu ne moลพe im pristupiti.


47) Moลพemo li imati dvije metode u klasi s istim imenom?

Moลพemo definirati dvije metode u klasi s istim imenom, ali s razliฤitim brojem/vrstom parametara. Koja ฤ‡e se metoda pozvati ovisit ฤ‡e o proslijeฤ‘enim parametrima.

Na primjer, u klasi ispod imamo dvije metode ispisa s istim imenom, ali razliฤitim parametrima. Ovisno o parametrima, odgovarajuฤ‡i ฤ‡e se zvati:

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) Kako moลพemo napraviti kopiju java objekta?

Koncept kloniranja moลพemo koristiti za stvaranje kopije objekta. Koriลกtenjem klona stvaramo kopije sa stvarnim stanjem objekta.

Clone() je metoda Cloneable suฤelja i stoga, Cloneable suฤelje treba biti implementirano za izradu kopija objekta.


49) Koja je korist od koriลกtenja nasljeฤ‘ivanja?

Kljuฤna prednost koriลกtenja nasljeฤ‘ivanja je ponovna upotreba koda jer nasljeฤ‘ivanje omoguฤ‡uje podklasama da ponovno koriste kod svoje super klase. Polimorfizam (proลกirljivost) joลก je jedna velika prednost koja omoguฤ‡uje uvoฤ‘enje nove funkcionalnosti bez utjecaja na postojeฤ‡e izvedene klase.


50) Koji je zadani specifikator pristupa za varijable i metode klase?

Zadani specifikator pristupa za varijable i metodu zaลกtiฤ‡en je paketom, tj. varijable i klasa dostupni su bilo kojoj drugoj klasi, ali u istom paketu, ne izvan paketa.


51) Navedite primjer koriลกtenja pokazivaฤa u Java klase.

Nema pokazivaฤa unutra Java. Dakle, ne moลพemo koristiti koncept pokazivaฤa u Java.


52) Kako moลพemo ograniฤiti nasljeฤ‘ivanje za klasu tako da nijedna klasa ne moลพe biti naslijeฤ‘ena od nje?

Ako ลพelimo da klasa ne bude dalje proลกirena nijednom klasom, moลพemo koristiti kljuฤnu rijeฤ Final s nazivom klase.

U sljedeฤ‡em primjeru, klasa Stone je Final i ne moลพe se proลกiriti

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

53) Koji je opseg pristupa specifikator zaลกtiฤ‡enog pristupa?

Kada se metoda ili varijabla deklarira s specifikatorom zaลกtiฤ‡enog pristupa, postaje dostupna u istoj klasi, bilo kojoj drugoj klasi istog paketa kao i podklasi.

Promijeniti Klasa Paket podrazred Svijet
javni Y Y Y Y
zaลกtiฤ‡en Y Y Y N
bez modifikatora Y Y N N
privatni Y N N N

54) Koja je razlika izmeฤ‘u Stack i Queue?

I Stack i Queue koriste se kao rezervirano mjesto za zbirku podataka. Primarna razlika izmeฤ‘u stoga i reda ฤekanja je u tome ลกto se stog temelji na principu Zadnji uลกao prvi izaลกao (LIFO), dok se red ฤekanja temelji na FIFO (Prvi uลกao prvi izaลกao) principu.


55) Kako u Javi moลพemo onemoguฤ‡iti serijalizaciju varijabli?

Ako ลพelimo da odreฤ‘ene varijable klase ne budu serijalizirane, moลพemo koristiti kljuฤnu rijeฤ prolazan dok ih izjavljuje. Na primjer, varijabla trans_var u nastavku je prolazna varijabla i ne moลพe se serijalizirati:

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

56) Kako moลพemo koristiti primitivne tipove podataka kao objekte?

Primitivni tipovi podataka poput int mogu se rukovati kao objekti upotrebom njihovih odgovarajuฤ‡ih klasa omotaฤa. Na primjer, Integer je klasa omotaฤa za primitivni tip podataka int. Na klasu omotaฤa moลพemo primijeniti razliฤite metode, baลก kao i na svaki drugi objekt.


57) Koje se vrste iznimaka hvataju tijekom kompajliranja?

Provjerene iznimke mogu se uhvatiti u vrijeme kompilacije programa. Oznaฤene iznimke moraju se rjeลกavati koriลกtenjem bloka try catch u kodu kako bi se kod uspjeลกno preveo.


58) Opiลกite razliฤita stanja niti.

Nit unutra Java moลพe biti u jednom od sljedeฤ‡ih stanja:

  • Spremno: Kada se nit stvori, ona je u stanju Spremno.
  • Izvodi se: Nit koja se trenutno izvodi je u stanju izvoฤ‘enja.
  • ฤŒekanje: Nit koja ฤeka da druga nit oslobodi odreฤ‘ene resurse je u stanju ฤekanja.
  • Mrtav: Nit koja je mrtva nakon izvrลกenja je u mrtvom stanju.

59) Moลพemo li koristiti zadani konstruktor klase ฤak i ako je definiran eksplicitni konstruktor?

Java pruลพa zadani konstruktor bez argumenata ako eksplicitni konstruktor nije definiran u a Java razreda. Ali ako je eksplicitni konstruktor definiran, zadani konstruktor se ne moลพe pozvati i programer moลพe koristiti samo one konstruktore koji su definirani u klasi.


60) Moลพemo li nadjaฤati metodu koriลกtenjem istog naziva metode i argumenata, ali razliฤitih vrsta povrata?

Osnovni uvjet nadjaฤavanja metode je da naziv metode, argumenti kao i vrsta povrata moraju biti toฤno isti kao i kod metode koja se nadjaฤava. Stoga upotreba razliฤite povratne vrste ne poniลกtava metodu.


61) ล to ฤ‡e biti rezultat sljedeฤ‡eg dijela koda?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

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

U ovom sluฤaju koristi se postfix ++ operator koji prvo vraฤ‡a vrijednost, a zatim se poveฤ‡ava. Stoga ฤ‡e njegov izlaz biti 4.


61) Osoba kaลพe da je uspjeลกno kompajlirala java klasu, a da u njoj nije ฤak ni imala glavnu metodu? Je li moguฤ‡e?

Glavna metoda je ulazna toฤka Java klase i potreban je za izvoฤ‘enje programa meฤ‘utim; klasa se uspjeลกno kompajlira ฤak i ako nema glavnu metodu. Ipak se ne moลพe pokrenuti.


62) Moลพemo li nestatiฤku metodu iznutra nazvati statiฤkom metodom?

Nestatiฤke metode su u vlasniลกtvu objekata klase i imaju opseg na razini objekta, a da bi se pozvale nestatiฤke metode iz statiฤkog bloka (kao iz statiฤke glavne metode), prvo je potrebno kreirati objekt klase. Zatim se pomoฤ‡u reference objekta mogu pozvati ove metode.


63) Koje su dvije varijable okoline koje se moraju postaviti da bi se pokrenula bilo koja Java programi?

Java programi se mogu izvrลกiti na stroju samo nakon ลกto su sljedeฤ‡e dvije varijable okruลพenja ispravno postavljene:

  1. Varijabla PATH
  2. CLASSPATH varijabla

64) Mogu li se varijable koristiti u Java bez inicijalizacije?

In Java, ako se varijabla koristi u kodu bez prethodne inicijalizacije valjanom vrijednoลกฤ‡u, program se ne kompajlira i daje pogreลกku jer nijedna zadana vrijednost nije dodijeljena varijablama u Java.


65) Moลพe li razred u Java biti naslijeฤ‘en iz viลกe od jedne klase?

In Java, klasa se moลพe izvesti samo iz jedne klase, a ne iz viลกe klasa. Viลกestruko nasljeฤ‘ivanje nije podrลพano od strane Java.


66) Moลพe li konstruktor imati drugaฤije ime od naziva klase u Java?

Konstruktor u Java mora imati isto ime kao ime klase, a ako je ime drugaฤije, ne djeluje kao konstruktor i kompajler to smatra normalnom metodom.


67) Kakav ฤ‡e biti rezultat Round(3.7) i Ceil(3.7)?

Round(3.7) vraฤ‡a 4, a Ceil(3.7) vraฤ‡a 4.


68) Moลพemo li koristiti goto in Java iฤ‡i na odreฤ‘enu liniju?

In Java, ne postoji kljuฤna rijeฤ goto i java ne podrลพava ovu znaฤajku odlaska na odreฤ‘eni oznaฤeni redak.


69) Moลพe li se mrtva nit ponovo pokrenuti?

U Javi se nit koja je u mrtvom stanju ne moลพe ponovo pokrenuti. Ne postoji naฤin za ponovno pokretanje mrtve niti.


70) Je li sljedeฤ‡a deklaracija klase toฤna?

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

Odgovor: Gornja deklaracija klase je netoฤna jer se apstraktna klasa ne moลพe deklarirati kao Final.


71) Je li JDK potreban na svakom stroju za pokretanje a Java program?

JDK je razvojni komplet za Java i potreban je samo za razvoj i pokretanje a Java programa na stroju, JDK nije potreban. Potreban je samo JRE.


72) Koja je razlika izmeฤ‘u usporedbe izvedene jednakom metodom i == operatora?

In Java, metoda equals() koristi se za usporedbu sadrลพaja dva objekta niza i vraฤ‡a vrijednost true ako dva imaju istu vrijednost, dok operator == usporeฤ‘uje reference dva objekta niza.

U sljedeฤ‡em primjeru, equals() vraฤ‡a true buduฤ‡i da dva objekta niza imaju iste vrijednosti. Meฤ‘utim, == operator vraฤ‡a false jer oba objekta niza referiraju na razliฤite objekte:

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) Je li moguฤ‡e definirati metodu u Java klase, ali osigurati njegovu implementaciju u kodu drugog jezika kao ลกto je C?

Da, moลพemo to uฤiniti koristeฤ‡i izvorne metode. U sluฤaju razvoja temeljenog na izvornoj metodi, definiramo javne statiฤke metode u naลกem Java klasa bez njegove implementacije, a zatim se implementacija obavlja u drugom jeziku kao ลกto je C odvojeno.


74) Kako su destruktori definirani u Java?

In Java, u klasi nema definiranih destruktora jer nema potrebe za tim. Java ima vlastiti mehanizam za sakupljanje smeฤ‡a koji automatski obavlja posao uniลกtavajuฤ‡i objekte kada se viลกe ne referenciraju.


Java Pitanja i odgovori za intervju za 5+ godina iskustva

75) Moลพe li varijabla biti lokalna i statiฤna u isto vrijeme?

Ne, varijabla ne moลพe biti statiฤna kao i lokalna u isto vrijeme. Definiranje lokalne varijable kao statiฤke daje pogreลกku kompilacije.


76) Moลพemo li imati statiฤke metode u suฤelju?

Statiฤke metode ne mogu se nadjaฤati ni u jednoj klasi dok su sve metode u suฤelju prema zadanim postavkama apstraktne i trebale bi biti implementirane u klasama koje implementiraju suฤelje. Stoga nema smisla imati statiฤke metode u suฤelju Java.


77) U klasi koja implementira suฤelje, moลพemo li promijeniti vrijednost bilo koje varijable definirane u suฤelju?

Ne, ne moลพemo promijeniti vrijednost bilo koje varijable suฤelja u implementirajuฤ‡oj klasi jer su sve varijable definirane u suฤelju prema zadanim postavkama javne, statiฤne i konaฤne i konaฤne varijable su poput konstanti koje se kasnije ne mogu mijenjati.


78) Je li ispravno reฤ‡i da zbog znaฤajke odvoza smeฤ‡a u Java, java program nikad ne ostaje bez memorije?

Iako je omoguฤ‡eno automatsko odvoz smeฤ‡a Java, ne osigurava da a Java program neฤ‡e nestati iz memorije jer postoji moguฤ‡nost stvaranja Java objekata radi se brลพim tempom u usporedbi sa skupljanjem smeฤ‡a ลกto rezultira popunjavanjem svih dostupnih memorijskih resursa.

Dakle, sakupljanje smeฤ‡a pomaลพe u smanjenju moguฤ‡nosti da programu ostane bez memorije, ali to ne osigurava.


79) Moลพemo li imati neki drugi povratni tip osim void za glavnu metodu?

Ne, Java glavna metoda klase moลพe imati samo void tip povrata da bi se program uspjeลกno izvrลกio.

Unatoฤ tome, ako apsolutno morate vratiti vrijednost na po zavrลกetku glavne metode, moลพete koristiti System.exit(int status)


80) ลฝelim ponovno doฤ‡i do objekta i koristiti ga nakon ลกto se skupi smeฤ‡e. Kako je moguฤ‡e?

Nakon ลกto je skupljaฤ smeฤ‡a uniลกtio objekt, on viลกe ne postoji na hrpi i ne moลพe mu se ponovno pristupiti. Ne postoji naฤin da se to ponovno referira.


81) U Java programiranje niti, koja je metoda obavezna implementacija za sve niti?

Run() je metoda Runnable suฤelja koju moraju implementirati sve niti.


82) ลฝelim kontrolirati veze s bazom podataka u svom programu i ลพelim da samo jedna nit moลพe uspostaviti vezu s bazom podataka u isto vrijeme. Kako mogu implementirati ovu logiku?

Odgovor: Ovo se moลพe implementirati koriลกtenjem koncepta sinkronizacije. Kod koji se odnosi na bazu podataka moลพe se smjestiti u metodu koja hs sinkronizirano kljuฤnu rijeฤ tako da joj samo jedna nit moลพe pristupiti u isto vrijeme.


83) Kako programer moลพe ruฤno izbaciti iznimku?

Kako biste ruฤno izbacili iznimku u bloku koda, baciti koristi se kljuฤna rijeฤ. Zatim se ova iznimka hvata i obraฤ‘uje u bloku catch.

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

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

84) ลฝelim da moja klasa bude razvijena na takav naฤin da nijedna druga klasa (ฤak ni izvedena klasa) ne moลพe kreirati svoje objekte. Kako to mogu uฤiniti?

Ako konstruktor klase proglasimo privatnim, neฤ‡e mu moฤ‡i pristupiti nijedna druga klasa i stoga ga niti jedna druga klasa neฤ‡e moฤ‡i instancirati, a formiranje njegovog objekta bit ฤ‡e ograniฤeno samo na njega.


85) Kako su predmeti pohranjeni u Java?

U Javi, svaki objekt kada je kreiran dobiva memorijski prostor iz gomile. Kada skupljaฤ smeฤ‡a uniลกti objekt, prostor koji mu je dodijeljen iz hrpe ponovno se dodjeljuje hrpi i postaje dostupan za sve nove objekte.


86) Kako moลพemo pronaฤ‡i stvarnu veliฤinu objekta na hrpi?

U Javi ne postoji naฤin da se sazna toฤna veliฤina objekta na hrpi.


87) Koja ฤ‡e od sljedeฤ‡ih klasa imati viลกe dodijeljene memorije?

Klasa A: Tri metode, ฤetiri varijable, bez objekta

Klasa B: Pet metoda, tri varijable, bez objekta

Memorija se ne dodjeljuje prije stvaranja objekata. Buduฤ‡i da za obje klase nema stvorenih objekata, tako da se memorija ne dodjeljuje na gomili ni za jednu klasu.


88) ล to se dogaฤ‘a ako se iznimka ne obradi u programu?

Ako se iznimka ne obraฤ‘uje u programu pomoฤ‡u blokova try catch, program se prekida i nijedna naredba se ne izvrลกava nakon naredbe koja je uzrokovala izbacivanje iznimke.


89) Imam viลกe konstruktora definiranih u klasi. Je li moguฤ‡e pozvati konstruktora iz tijela drugog konstruktora?

Ako klasa ima viลกe konstruktora, moguฤ‡e je pozvati jedan konstruktor iz tijela drugog pomoฤ‡u ovaj().


90) ล to se podrazumijeva pod anonimnom klasom?

Anonimna klasa je klasa definirana bez ikakvog naziva u jednom retku koda pomoฤ‡u nove kljuฤne rijeฤi.

Na primjer, u donjem kodu definirali smo anonimnu klasu u jednom retku koda:

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) Postoji li naฤin da se poveฤ‡a veliฤina niza nakon njegove deklaracije?

Nizovi su statiฤni i nakon ลกto odredimo njihovu veliฤinu, ne moลพemo je promijeniti. Ako ลพelimo koristiti takve zbirke gdje moลพemo zahtijevati promjenu veliฤine (bez stavki), trebali bismo dati prednost vektoru umjesto nizu.


92) Ako aplikacija ima viลกe klasa u sebi, je li u redu imati glavnu metodu u viลกe od jedne klase?

Ako postoji glavna metoda u viลกe od jedne klase u java aplikaciji, to neฤ‡e uzrokovati nikakav problem jer ฤ‡e ulazna toฤka za bilo koju aplikaciju biti odreฤ‘ena klasa, a kod ฤ‡e zapoฤeti samo s glavnom metodom te odreฤ‘ene klase.


93) ลฝelim zadrลพati podatke o objektima za kasniju upotrebu. Koji je najbolji pristup za to?

Najbolji naฤin za oฤuvanje podataka za buduฤ‡u upotrebu je koriลกtenje koncepta serijalizacije.


94) U ฤemu je lokalna klasa Java?

In Java, ako definiramo novu klasu unutar odreฤ‘enog bloka, ona se naziva lokalna klasa. Takva klasa ima lokalni opseg i nije upotrebljiva izvan bloka u kojem je definirana.


95) ลฝica i ลฝicaBuffer oba predstavljaju String objekte. Moลพemo li usporediti String i StringBuffer in Java?

Iako String i StringBuffer oba predstavljaju String objekte, ne moลพemo ih meฤ‘usobno usporediti i ako ih pokuลกamo usporediti, dobit ฤ‡emo pogreลกku.


96) Koji API pruลพa Java za operacije na skupu objekata?

Java pruลพa API zbirke koji pruลพa mnoge korisne metode koje se mogu primijeniti na skup objekata. Neke od vaลพnih klasa koje pruลพa Collection API ukljuฤuju ArrayList, HashMap, TreeSet i TreeMap.


97) Moลพemo li pretvoriti bilo koji drugi tip u Boolean tip s pretvaranjem tipa?

Ne, ne moลพemo niti pretvoriti bilo koji drugi primitivni tip u Booleov tip podataka niti moลพemo pretvoriti Booleov tip podataka u bilo koji drugi primitivni tip podataka.


98) Moลพemo li koristiti razliฤite tipove povrata za metode kada se nadjaฤaju?

Osnovni zahtjev nadjaฤavanja metode u Java je da nadjaฤana metoda treba imati isto ime i parametre. Ali metoda se moลพe nadjaฤati razliฤitim povratnim tipom sve dok novi povratni tip proลกiruje izvorni.

Na primjer, metoda vraฤ‡a referentni tip.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Koja je osnovna klasa svih klasa izuzetaka?

In Java, Java.lang.Throwable je super klasa svih klasa izuzetaka i sve klase izuzetaka su izvedene iz ove osnovne klase.


100) Koji je redoslijed poziva konstruktora u nasljeฤ‘ivanju?

U sluฤaju nasljeฤ‘ivanja, kada se kreira novi objekt izvedene klase, prvo se poziva konstruktor super klase, a zatim se poziva konstruktor izvedene klase.

Pripremite se za svoj intervju za posao!!! Iฤ‡i kroz Java Tutorijal biti bolje pripremljen.

Ovo detaljno Java Mock Test Quiz pomoฤ‡i ฤ‡e vam da razjasnite nedoumice Java pitanja za intervju i takoฤ‘er ฤ‡e vam pomoฤ‡i da rijeลกite intervju.

To Java i Java 8 pitanja za intervju takoฤ‘er ฤ‡e pomoฤ‡i u vaลกem ลพivotu (oralno)

Saลพmite ovu objavu uz: