100 + Java Pitanja i odgovori za intervju (2026.)
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:
- Varijabla PATH
- 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)
