Preuzmite PDF
Sastavili smo najčešće postavljana pitanja i odgovore na Java intervjue koji će vam pomoći da se pripremite za osnovna Java pitanja koja vam anketar može postaviti tijekom intervjua. Na ovom popisu osnovnih pitanja o intervjuu za Java pokrili smo sva često postavljana osnovna i napredna pitanja o intervjuu za jezgru Java s detaljnim odgovorima koji će vam pomoći da razriješite razgovor za posao.
Sljedeći popis sadrži 100 važnih osnovnih pitanja o Java razgovoru za svježe, kao i pitanja o Java intervjuima i odgovore za iskusne programere koji će im pomoći da se pripreme za intervju. Ovaj detaljan vodič za pitanja za intervju za Java programiranje pomoći će vam da lako razbijete svoj posao.
Osnovna pitanja i odgovori za intervjue Java-a za svježe i iskusnije
Q1. Koja je razlika između unutarnje i podklase?
Odgovori: Unutarnja klasa je klasa koja je ugniježđena unutar druge klase. Unutarnja klasa ima prava pristupa za klasu koja je 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. Podrazred može pristupiti svim javnim i zaštićenim metodama i poljima svoje super klase.
Q2. Koji su razni specifikatori pristupa za Java satove?
Odgovori: U Javi su specifikatori pristupa ključne riječi korištene prije naziva klase koje definiraju opseg pristupa. Vrste specifikatora pristupa za klase su:
1. Javno: Razred, metoda, polje dostupno je s bilo kojeg mjesta.
2. Zaštićeni: Metodi, polju se može pristupiti iz iste klase kojoj pripadaju ili iz potklase i iz klase istog paketa, ali ne i izvana.
3. Zadano: Metodi, polju, klasi može se pristupiti samo iz istog paketa, a ne izvan njegovog izvornog paketa.
4. Privatno: Metodi, polju se može pristupiti iz iste klase kojoj pripadaju.
Q3. Koja je svrha statičkih metoda i statičkih varijabli?
Odgovori: Kada postoji zahtjev za dijeljenjem metode ili varijable između više objekata klase, umjesto stvaranja zasebnih kopija za svaki objekt, koristimo statičku ključnu riječ da bismo metodu ili varijablu podijelili za sve objekte.
Q4. Što je inkapsulacija podataka i koji je njezin značaj?
Odgovor: Inkapsulacija je koncept objektno orijentiranog programiranja za kombiniranje svojstava i metoda u jednoj jedinici.
Inkapsulacija pomaže programerima da slijede modularni pristup razvoju softvera jer svaki objekt ima svoj vlastiti skup metoda i varijabli i služi svojim funkcijama neovisno o drugim objektima. Inkapsulacija također služi u svrhu skrivanja podataka.
P5. Što je singleton klasa? Dajte praktični primjer njegove uporabe.
Jednostruka klasa u javi može imati samo jedan primjerak i stoga sve njene metode i varijable pripadaju samo jednom primjerku. Koncept klase Singleton koristan je u situacijama kada postoji potreba za ograničavanjem broja objekata za klasu.
Najbolji primjer pojedinačnog scenarija korištenja je kada postoji ograničenje samo jedne veze s bazom podataka zbog nekih ograničenja pokretačkih programa ili zbog problema s licenciranjem.
P6. Što su petlje u Javi? Koje su tri vrste petlji?
Odgovori: Looping se koristi u programiranju za opetovano izvršavanje izraza ili bloka izraza. U Javi postoje tri vrste petlji:
1) Za petlje
Jer petlje se koriste u javi za opetovano izvršavanje naredbi određenog broja puta. Jer se petlje koriste kada je programeru poznat koliko je puta potrebno izvršiti izraze.
2) Dok petlje
Petlja while se koristi kada se određene naredbe moraju izvršavati više puta dok se ne ispuni uvjet. U while petljama prvo se provjerava stanje prije izvršavanja naredbi.
3) Radite dok petlje
Do Do Loop je ista kao while petlja, samo s tom razlikom da se uvjet provjerava nakon izvršavanja bloka naredbi. Stoga se u slučaju petlje do while naredbe izvršavaju najmanje jednom.
P7: Što je beskonačna petlja? Kako se proglašava beskonačna petlja?
Odgovor: Beskonačna petlja radi bez ikakvih uvjeta i traje beskonačno. Beskonačna petlja može se prekinuti definiranjem bilo kakve lomne logike u tijelu blokova izraza.
Beskonačna petlja deklarira se na sljedeći način:
for (;;){// Statements to execute// Add any loop breaking logic}
P8. Koja je razlika između naredbe continue i break?
Odgovori: prekini i nastavi dvije su važne ključne riječi koje se koriste u petljama. Kada se ključna riječ break koristi u petlji, petlja se odmah prekida dok se kada se koristi ključna riječ continue, trenutna iteracija razbije i petlja se nastavlja sa sljedećom iteracijom.
U donjem primjeru, petlja se prekida kad 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 preskače na sljedeću iteraciju i svi izrazi nakon ključne riječi continue preskaču se 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");}
P9. Koja je razlika između dvostrukih i plutajućih varijabli u Javi?
Odgovori: U javi float uzima 4 bajta u memoriji, dok Double uzima 8 bajta u memoriji. Float je decimalni broj s pokretnom zarezom s jednom preciznošću, dok je Double decimalni broj s dvostrukom preciznošću.
Q10. Što je završna ključna riječ u Javi? Navedi primjer.
Odgovori: U javi se konstanta deklarira pomoću ključne riječi Final. Vrijednost se može dodijeliti samo jednom, a nakon dodjele vrijednost konstante ne može se mijenjati.
U donjem primjeru deklarirana je konstanta s imenom const_val koja joj je dodijeljena avalue:
Privatno finale int const_val = 100
Kada se metoda proglasi konačnom, potklase je NE mogu nadjačati. Ova metoda je brža od bilo koje druge metode jer se rješava u skladu s vremenom.
Kada se klasa proglasi konačnom, ne može se podrazvrstati. Primjer niza, cjelovitih i drugih klasa omota.
Q11. Što je trokraki operator? Navedi primjer.
Odgovor: Ternarni operator, koji se naziva i uvjetnim, koristi se za odlučivanje koju vrijednost će dodijeliti varijabli na temelju procjene Booleove vrijednosti. Označava se kao?
U donjem primjeru, ako je rang 1, statusu se dodjeljuje vrijednost "Gotovo", ostalo "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);}}
P12: Kako možete generirati slučajne brojeve u Javi?
Odgovori:
- Korištenjem Math.random () možete generirati slučajne brojeve u rasponu većem ili jednakom 0,1 i manjem od 1,0
- Korištenje klase Random u paketu java.util
Q13. Što je zadani slučaj prekidača? Navedi primjer.
Odgovori: U naredbi prebacivanja zadani se slučaj izvršava kada se ne podudara nijedan drugi uvjet prekidača. Zadani je slučaj neobavezan. Može se prijaviti tek nakon što su svi ostali slučajevi prekidača kodirani.
U donjem primjeru, kada rezultat nije 1 ili 2, koristi se zadani slučaj.
public class switchExample {int score = 4;public static void main(String args[]) {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");}}}
P14. Koja je osnovna klasa u Javi iz koje su izvedene sve klase?
Odgovori: java.lang.object
P15. Može li metoda main () u Javi vratiti bilo kakve podatke?
Odgovori: U javi metoda main () ne može vratiti nikakve podatke i stoga se uvijek deklarira s void tipom povratka.
Q16. Što su Java paketi? Koji je značaj paketa?
Odgovor: U Javi je paket zbirka klasa i sučelja koja su povezana u paketu jer su međusobno povezana. Korištenje paketa pomaže programerima da modulariziraju kod i grupiraju ga za ispravnu ponovnu upotrebu. Jednom kad je kôd zapakiran u Packages, može se uvesti u druge klase i koristiti.
Q17. Možemo li klasu proglasiti Apstraktnom, a da ne imamo apstraktnu metodu?
Odgovori: Da, možemo stvoriti apstraktnu klasu pomoću apstraktne ključne riječi prije naziva klase, čak i ako nema apstraktnu metodu. Međutim, ako klasa ima čak i jednu apstraktnu metodu, mora se deklarirati kao apstraktna, u protivnom će se pojaviti pogreška.
Q18. Koja je razlika između apstraktne klase i sučelja u Javi?
Odgovori: Primarna razlika između apstraktne klase i sučelja je u tome što sučelje može posjedovati samo deklaraciju javnih statičkih metoda bez konkretne implementacije, dok apstraktna klasa može imati članove s bilo kojim specifikatorima pristupa (javni, privatni itd.) Sa ili bez konkretne implementacije.
Druga ključna razlika u korištenju apstraktnih klasa i sučelja je ta što klasa koja implementira sučelje mora implementirati sve metode sučelja, dok klasa koja nasljeđuje apstraktnu klasu 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.
Q19. Koje su implikacije izvedbe sučelja na apstraktne klase?
Odgovori: Sučelja su sporije izvedbe u usporedbi sa apstraktnim klasama jer su za sučelja potrebne dodatne indirektnosti. Sljedeći ključni faktor koji programeri moraju uzeti u obzir jest da bilo koja klasa može proširiti samo jednu apstraktnu klasu, dok klasa može implementirati mnoga sučelja.
Korištenje sučelja također stavlja dodatno opterećenje za programere jer svaki put kada se sučelje implementira u klasu; programer je prisiljen implementirati svaku metodu sučelja.
Q20. Uvozi li uvoz uvoznih paketa i svoje Java-pakete?
Odgovor: U javi, kada se paket uvozi, njegovi podpaketi se ne uvoze i programer ih mora uvesti odvojeno ako je potrebno.
Na primjer, ako programer uvozi sveučilište paketa. *, Učitavaju se sve klase u paketu nazvanom sveučilište, ali ne učitavaju se razredi iz potpaketa. Da bi učio klase iz svog podpaketa (recimo odjel), programer ih mora eksplicitno uvesti na sljedeći način:
Uvoz sveučilišnog odjela. *
Q21. Možemo li glavnu metodu svoje klase proglasiti privatnom?
Odgovori: U Javi glavna metoda mora biti javna statička da bi se bilo koja aplikacija pravilno pokrenula. Ako je glavna metoda proglašena privatnom, programer neće dobiti nikakvu pogrešku pri kompilaciji, međutim, neće se izvršiti i dat će pogrešku u izvođenju.
Q22. Kako možemo proslijediti argument funkciji referencom umjesto propuštanjem vrijednosti?
Odgovori: U javi funkciju možemo prosljeđivati argumentu samo vrijednošću, a ne referencom.
Q23. Kako se objekt serializira u javi?
Odgovor: U javi, za pretvaranje objekta u tok bajtova serializacijom, klasa implementira sučelje s imenom Serializable. Svi se objekti klase koji implementiraju serializabilno sučelje serializiraju i njihovo se stanje sprema u tok bajtova.
Q24. Kada bismo trebali koristiti serializaciju?
Odgovor: Serijalizacija se koristi kada se podaci trebaju prenositi mrežom. Korištenjem serializacije stanje objekta se sprema i pretvara u tok bajtova. Tok bajtova se prenosi mrežom i objekt se ponovno stvara na odredištu.
Q25. Je li obvezno da Blok pokušaja slijedi Blok hvatanja u Javi za rukovanje iznimkama?
Odgovori: Pokušaj bloka mora slijediti blok Catch ili blok Napokon ili oboje. Svaka izuzetak izbačen iz pokušaj bloka mora biti uhvaćen u bloku uhvatiti ili bilo koji specifični zadaci koje treba izvršiti prije nego što abortus koda se stavi u blok Konačno.
Q26. Postoji li način da se konačno preskoči blok iznimke čak i ako se neka blokada dogodi u bloku iznimke?
Odgovori: Ako se u bloku Try pokrene iznimka, kontrola prelazi u catch block ako postoji da bi se konačno blokirala. Konačni blok se uvijek izvršava kada se dogodi iznimka i jedini način da se izbjegne izvršavanje bilo kojih naredbi u bloku Konačni je prisilno prekidanje koda ispisivanjem sljedećeg retka koda na kraju pokušaj bloka:
System.exit(0);
Q27. Kada se pozove konstruktor klase?
Odgovori: Konstruktor klase poziva se svaki put kad se objekt kreira novom ključnom riječi.
Na primjer, u sljedećoj se klasi izrađuju dva objekta 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();}}
Q28. Može li klasa imati više konstruktora?
Odgovori: Da, klasa može imati više konstruktora s različitim parametrima. Koji će se konstruktor koristiti za stvaranje objekata, ovisi o argumentima koji su proslijeđeni tijekom stvaranja objekata.
Q29. Možemo li nadjačati statičke metode klase?
Odgovor: 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 u vrijeme izvođenja). Čak i ako pokušamo nadjačati statičku metodu, nećemo dobiti pogrešku u komplikaciji, niti utjecaj nadjačavanja prilikom pokretanja kodirati.
Q30. U donjem primjeru, koliki ć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();}}
Odgovor : Izlaz će biti:
Prikaz iz podrazreda
Prikaz iz superklase
Q31. Je li String vrsta podataka u javi?
Odgovori: String nije primitivni tip podataka u javi. Kada se niz stvori u javi, to je zapravo objekt klase Java.Lang.String koji se kreira. Nakon stvaranja ovog objekta niza, sve ugrađene metode klase String mogu se koristiti na objektu niza.
Q32. U donjem primjeru, koliko je String objekata stvoreno?
String s1="I am Java Expert";String s2="I am C Expert";String s3="I am Java Expert";
Odgovori: U gornjem primjeru kreiraju se dva objekta klase Java.Lang.String. s1 i s3 su reference na isti objekt.
Q33. Zašto se stringovi u Javi nazivaju nepromjenjivim?
Odgovori: U javi se objekti niza nazivaju nepromjenjivima jer se jednom vrijednost pridaje nizu, ne može se mijenjati i ako se promijeni, stvara se novi objekt.
U donjem primjeru referenca str odnosi se na objekt niza koji ima vrijednost "Vrijednost jedan".
String str="Value One";
Kad mu se dodijeli nova vrijednost, stvara se novi objekt String i referenca se premješta u novi objekt.
str="New Value";
Q34. Koja je razlika između polja i vektora?
Odgovori: Niz grupira podatke istog primitivnog tipa i statične je prirode, dok su vektori dinamične prirode i mogu sadržavati podatke različitih tipova podataka.
Q35. Što je višenitnost?
Odgovori: Više navoja je koncept programiranja za istodobno pokretanje više zadataka u okviru jednog programa. Teme dijele isti procesni niz i rade paralelno. Pomaže u poboljšanju izvedbe bilo kojeg programa.
Q36. Zašto se Runnable Interface koristi u Javi?
Odgovor: Izvodljivo sučelje koristi se u javi za implementaciju višenitnih aplikacija. Sučelje Java.Lang.Runnable implementira klasa za podršku više navoja.
Q37. Koja su dva načina implementacije višestrukog navoja u Javi?
Odgovori: Višenavojne aplikacije mogu se razviti u Javi pomoću bilo koje od sljedeće dvije metodologije:
1. Korištenjem sučelja Java.Lang.Runnable. Klase implementiraju ovo sučelje kako bi omogućile više navoja. U ovom sučelju postoji metoda Run () koja je implementirana.
2. Pisanjem klase koja proširuje klasu Java.Lang.Thread.
Q38. Kada je potrebno puno promjena u podacima, koja bi se prednost trebala koristiti? String ili StringBuffer?
Odgovor: Budući da su StringBuffers dinamične prirode i možemo mijenjati vrijednosti StringBuffer objekata za razliku od Stringa koji je nepromjenjiv, uvijek je dobar izbor koristiti StringBuffer kada se podaci previše mijenjaju. Ako u takvom slučaju koristimo String, za svaku promjenu podataka stvorit će se novi objekt String koji će biti dodatni režijski troškovi.
Q39. Koja je svrha upotrebe Break u svakom slučaju Izjave o prebacivanju?
Odgovori: Break se koristi nakon svakog slučaja (osim posljednjeg) u prekidaču, tako da se kod prekida nakon važećeg slučaja, a ne teče ni u sljedećim 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.
Q40. Kako se odvoz smeća vrši na Javi?
Odgovori: U javi, kada se na objekt više ne upućuje, odvija se odvoz smeća i objekt se automatski uništava. Za automatsko prikupljanje smeća java poziva metodu System.gc () ili Runtime.gc ().
Q41. Kako možemo izvršiti bilo koji kod čak i prije glavne metode?
Odgovori: Ako želimo izvršiti bilo koju naredbu prije stvaranja objekata u vrijeme učitavanja klase, možemo upotrijebiti statički blok koda u klasi. Sve naredbe unutar ovog statičkog bloka koda izvršit će se jednom u vrijeme učitavanja klase, čak i prije stvaranja objekata u glavnoj metodi.
Q42. Može li razred istovremeno biti i super razred i podrazred? Navedi primjer.
Odgovori: Ako se koristi hijerarhija nasljeđivanja, klasa može istovremeno biti super klasa za drugu klasu i potklasa za drugu.
U primjeru dolje, klasa kontinent je podklasa svjetske klase i to je super klasa country klase.
public class world {… .}public class continenet extends world {… }public class country extends continent {… .}
Q43. Kako se stvaraju objekti klase ako u klasi nije definiran konstruktor?
Odgovori: Čak i ako u java klasi nije definiran eksplicitni konstruktor, objekti se uspješno kreiraju jer se zadani konstruktor implicitno koristi za stvaranje objekata. Ovaj konstruktor nema parametre.
Q44. U multi-threadingu kako možemo osigurati da resurs ne koristi više niti istovremeno?
Odgovori: U višestrukom navoju, pristup resursima koji se dijele između više niti može se kontrolirati pomoću koncepta sinkronizacije. Korištenjem sinkronizirane ključne riječi možemo osigurati da samo jedna nit istodobno može koristiti zajednički resurs, a druge mogu dobiti kontrolu nad resursom tek kad se oslobodi druge koja ga koristi.
Q45. Možemo li konstruktor klase više puta nazvati za objekt?
Odgovor: Konstruktor se poziva automatski kada kreiramo objekt pomoću nove ključne riječi. Pozvan je samo jednom za objekt u vrijeme stvaranja objekta, pa stoga ne možemo ponovno pozvati konstruktor za objekt nakon njegovog stvaranja.
Q46. Postoje dva razreda s nazivom classA i classB. Oba su razreda u istom paketu. Može li privatnom članu klase A pristupiti objekt klase B?
Odgovori: Privatni članovi klase nisu dostupni izvan dosega te klase, a bilo koja druga klasa čak ni u istom paketu ne može im pristupiti.
Q47. Možemo li imati dvije metode u razredu s istim imenom?
Odgovori: 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 prosljeđenim parametrima.
Na primjer, u donjoj klasi imamo dvije metode ispisa s istim nazivom, ali različitim parametrima. Ovisno o parametrima, nazvat će se odgovarajući:
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");}}
Q48. Kako možemo napraviti kopiju Java objekta?
Odgovori: Koncept kloniranja možemo koristiti za stvaranje kopije predmeta. Korištenjem klona stvaramo kopije sa stvarnim stanjem objekta.
Clone () je metoda Cloneable sučelja i stoga Cloneable sučelje treba implementirati za izradu kopija objekata.
Q49. Kakva je korist od korištenja nasljedstva?
Odgovor: Ključna prednost korištenja nasljeđivanja je ponovna upotreba koda jer nasljeđivanje omogućuje podklasama ponovnu upotrebu koda svoje super klase. Polimorfizam (proširivost) je još jedna velika prednost koja omogućuje uvođenje nove funkcionalnosti bez utjecaja na postojeće izvedene klase.
Q50. Koji je zadani specifikator pristupa za varijable i metode klase?
Odgovori: Zadani specifikator pristupa za varijable i metodu zaštićen je paketom, tj. Varijable i klasa dostupne su bilo kojoj drugoj klasi, ali u istom paketu, ne izvan paketa.
Q51. Navedite primjer upotrebe pokazivača u klasi Java.
Odgovor: Na Javi nema pokazivača. Dakle, ne možemo koristiti koncept pokazivača u Javi.
Q52. Kako možemo ograničiti nasljeđivanje za klasu tako da se iz nje ne može naslijediti nijedna klasa?
Odgovori: Ako želimo da se klasa dalje ne proširuje niti jednom klasom, možemo upotrijebiti ključnu riječ Final s imenom klase.
U sljedećem primjeru, klasa Stone je Final i ne može se produžiti
public Final Class Stone {// Class methods and Variables}
Q53. Koji je opseg pristupa specifikatora za zaštićeni pristup?
Odgovori: Kada se metoda ili varijabla deklariraju s specificiranim zaštićenim pristupom, postaju dostupne u istoj klasi, bilo kojoj drugoj klasi istog paketa, kao i podklasi.
Modifikator |
Razred |
Paket |
Podrazred |
Svijet |
javnost |
Y |
Y |
Y |
Y |
zaštićen |
Y |
Y |
Y |
N |
bez modifikatora |
Y |
Y |
N |
N |
privatna |
Y |
N |
N |
N |
Q54. Koja je razlika između Stack i Queue?
Odgovori: Stack i Queue koriste se kao rezervirano mjesto za prikupljanje podataka. Primarna razlika između stoga i reda je u tome što se stog temelji na principu Last in First out (LIFO), dok se red temelji na FIFO (First In First Out) principu.
Q55. U javi, kako možemo zabraniti serializaciju varijabli?
Odgovori: Ako želimo da neke varijable klase ne budu serializirane, možemo koristiti ključnu riječ prijelazno dok ih deklariramo. Na primjer, varijabla trans_var u nastavku privremena je varijabla i ne može se serijalizirati:
public class transientExample {private transient trans_var;// rest of the code}
Q56. Kako primitivne tipove podataka možemo koristiti kao objekte?
Odgovori: Primitivnim vrstama podataka poput int može se rukovati kao objektima pomoću njihovih odgovarajućih klasa omota. Na primjer, Integer je klasa omota za primitivni tip podataka int. Možemo primijeniti različite metode na klasu omota, kao i bilo koji drugi objekt.
Q57. Koje su iznimke uhvaćene u vrijeme sastavljanja?
Odgovori: Provjerene iznimke mogu se uhvatiti u vrijeme sastavljanja programa. S provjerenim iznimkama mora se postupati pomoću bloka try catch u kodu kako bi se uspješno kompajlirao kod.
Q58. Opiši različita stanja niti.
Odgovori: Nit u Javi može biti u bilo kojem od sljedećih stanja:
- Spremno: Kada se nit stvori, ona je u stanju Spremnost.
- Izvršava se: Nit koja se trenutno izvršava je u aktivnom stanju.
- Čekanje: Nit koja čeka da druga nit oslobodi određene resurse je u stanju čekanja.
- Mrtva: Nit koja je zamrla nakon izvršenja je u mrtvom stanju.
Q59. Možemo li koristiti zadani konstruktor klase čak i ako je definiran eksplicitni konstruktor?
Odgovor: Java nudi zadani konstruktor bez argumenata ako u Java klasi nije definiran eksplicitni konstruktor. Ali ako je definiran eksplicitni konstruktor, zadani konstruktor se ne može pozvati i programer može koristiti samo one konstruktore koji su definirani u klasi.
Q60. Možemo li nadjačati metodu koristeći isto ime i argumente metode, ali različite vrste povratka?
Odgovori: Osnovni uvjet nadjačavanja metode je da naziv metode, argumenti kao i tip povratka moraju biti potpuno isti kao i onaj metode koji je nadjačan. Stoga upotreba drugog tipa povratka ne nadjačava metodu.
P61.Koji će biti izlaz sljedećeg dijela koda?
public class operatorExample {public static void main(String args[]) {int x = 4;system.out.println(x++);}}
Odgovori: U ovom se slučaju koristi postfix ++ operator koji prvo vraća vrijednost, a zatim povećava. Stoga će izlaz biti 4.
Q61. Osoba kaže da je uspješno sastavio java klasu, a da u njoj nije niti postojala glavna metoda? Je li moguće?
Odgovor: glavna metoda je ulazna točka Java klase i potrebna je za izvršavanje programa; klasa se uspješno kompilira čak i ako nema glavnu metodu. Ipak se ne može pokrenuti.
Q62. Možemo li pozvati nestatičnu metodu iznutra statičku metodu?
Odgovor: Nestatičke metode su u vlasništvu objekata klase i imaju opseg na razini objekta, a da bi se nestičke metode pozvale iz statičkog bloka (kao iz statičke glavne metode), treba stvoriti objekt klase prvi. Zatim se pomoću metode referenciranja objekta mogu pozvati ove metode.
Q63. Koje su dvije varijable okoline koje se moraju postaviti da bi se pokrenuli bilo koji Java programi?
Odgovor: Java programi mogu se izvoditi u stroju samo jednom kada su sljedeće dvije varijable okruženja pravilno postavljene:
- Varijabla PUT
- Varijabla CLASSPATH
Q64. Mogu li se varijable koristiti u Javi bez inicijalizacije?
Odgovori: U Javi, ako se varijabla koristi u kodu bez prethodne inicijalizacije valjanom vrijednošću, program se ne kompajlira i daje pogrešku jer varijablama na Javi nije dodijeljena zadana vrijednost.
Q65. Može li se klasa u Javi naslijediti iz više klasa?
Odgovor: U Javi se klasa može izvesti iz samo jedne klase, a ne iz više klasa. Java ne podržava više nasljeđivanja.
Q66. Može li konstruktor imati drugačije ime od naziva klase u Javi?
Odgovor: Konstruktor u Javi mora imati isto ime kao i ime klase, a ako je ime različito, ne djeluje kao konstruktor i kompajler ga smatra normalnom metodom.
Q67. Koliki će biti izlaz Round (3.7) i Ceil (3.7)?
Ans: Round (3.7) vraća 4, a Ceil (3.7) vraća 4.
P68: Možemo li koristiti goto u Javi za prelazak na određeni redak?
Odgovor: U Javi ne postoji ključna riječ goto, a java ne podržava ovu značajku odlaska na određeni označeni redak.
Q69. Može li se mrtva nit ponovno pokrenuti?
Odgovori: U Javi se nit koja je u mrtvom stanju ne može ponovno pokrenuti. Ne postoji način za ponovno pokretanje mrtve niti.
Q70. Je li sljedeća deklaracija klase točna?
Odgovori:
public abstract final class testClass {// Class methods and variables}
Odgovori: Gornja deklaracija klase je netočna jer se apstraktna klasa ne može deklarirati kao konačna.
Q71. Da li je JDK potreban na svakom stroju za pokretanje Java programa?
Odgovor: JDK je razvojni komplet Java i potreban je samo za razvoj i za pokretanje Java programa na stroju, JDK nije potreban. Potreban je samo JRE.
Q72. Koja je razlika između usporedbe obavljene metodom equals i == operatora?
Odgovori: U Javi se metoda equals () koristi za uspoređivanje sadržaja dva stringova i vraća true ako dva imaju istu vrijednost, dok operator == uspoređuje reference dva stringova.
U sljedećem primjeru, equals () vraća true jer dva objekta niza imaju iste vrijednosti. Međutim = = operator vraća false jer se oba objekta niza odnose 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 trueSystem.out.println("str1 and str2 are equal in terms of values");}if (str1 == str2) {//This condition is trueSystem.out.println("Both strings are referencing same object");} else{// This condition is NOT trueSystem.out.println("Both strings are referencing different objects");}}}
Q73. Je li moguće definirati metodu u klasi Java, ali osigurati njezinu implementaciju u kodu drugog jezika poput C?
Odgovor: Da, to možemo učiniti pomoću izvornih metoda. U slučaju razvoja zasnovanog na izvornoj metodi, definiramo javne statičke metode u našoj Java klasi bez njegove implementacije, a zatim se implementacija vrši zasebno na drugom jeziku poput C.
Q74. Kako su destruktori definirani u Javi?
Odgovor: U Javi u klasi nisu definirani destruktori, jer to nema potrebe. Java ima svoj vlastiti mehanizam za sakupljanje smeća koji posao obavlja automatski uništavajući objekte na koje više nema reference.
Q75. Može li varijabla istovremeno biti lokalna i statična?
Odgovori: Nijedna varijabla ne može biti istovremeno statična kao i lokalna. Definiranje lokalne varijable kao statičke daje pogrešku pri kompilaciji.
Q76. Možemo li imati statičke metode u sučelju?
Odgovori: Statičke metode ne mogu se nadjačati ni u jednoj klasi, dok su bilo koje metode u sučelju prema zadanim postavkama apstraktne i trebale bi biti implementirane u klasama koje implementiraju sučelje. Dakle, nema smisla imati statičke metode u sučelju na Javi.
Q77. U klasi koja implementira sučelje, možemo li promijeniti vrijednost bilo koje varijable definirane u sučelju?
Odgovor: Ne, ne možemo promijeniti vrijednost bilo koje varijable sučelja u izvedbenoj klasi, jer su sve varijable definirane u sučelju prema zadanim postavkama javne, statičke i Final i final varijable su poput konstanti koje se kasnije ne mogu mijenjati.
Q78. Je li ispravno reći da zbog značajke prikupljanja smeća na Javi Java programu nikad ne nedostaje memorije?
Odgovor: Iako Java omogućuje automatsko prikupljanje smeća, to ne osigurava da Java program ne ostane bez memorije jer postoji mogućnost da se izrada Java objekata vrši bržim tempom u odnosu na prikupljanje smeća što rezultira popunjavanje svih raspoloživih memorijskih resursa.
Dakle, odvoz smeća pomaže u smanjenju šansi da program ostane bez memorije, ali to ne osigurava.
Q79. Možemo li imati bilo koji drugi tip povratka osim void za glavnu metodu?
Odgovori: Ne, glavna metoda Java klase može imati samo void tip povratka da bi se program mogao uspješno izvršiti.
Bez obzira na to, ako apsolutno morate vratiti vrijednost na po završetku glavne metode, možete koristiti System.exit (int status)
Q80. Želim ponovno doći do objekta i upotrijebiti ga nakon što se sakupi smeće. Kako je to moguće?
Odgovori: Jednom kada je sakupljač smeća uništio objekt, on više ne postoji na hrpi i ne može mu se ponovo pristupiti. Ne postoji način da se na to ponovo referencira.
Q81. U Java programiranju niti, koja metoda je nužna implementacija za sve niti?
Odgovori: Run () je metoda Runnable sučelja koju moraju implementirati sve niti.
Q82. Želim kontrolirati veze baze podataka u svom programu i želim da odjednom samo jedna nit može uspostaviti vezu s bazom podataka. Kako mogu primijeniti ovu logiku?
Odgovori: To se može provesti korištenjem koncepta sinkronizacije. Kôd povezan s bazom podataka može se smjestiti u metodu koja sinkronizira ključnu riječ tako da joj odjednom može pristupiti samo jedna nit.
Q83. Kako programer može ručno ubaciti izuzetak?
Odgovori: Da bi se ručno dodala iznimka u blok koda, koristi se ključna riječ throw . Tada se ova iznimka hvata i obrađuje u bloku za ulov.
public void topMethod() {try {excMethod();} catch (ManualException e) {}}public void excMethod {String name = null;if (name == null) {throw (new ManualException("Exception thrown manually ");}}
Q84. Želim da se moja klasa razvija na takav način da niti jedna druga klasa (čak ni izvedena klasa) ne može stvoriti svoje objekte. Kako to mogu učiniti?
Odgovor: Ako konstruktor klase proglasimo privatnim, neće joj moći pristupiti nijedna druga klasa, pa stoga niti jedna druga klasa neće moći uspostaviti instancu, a formiranje njezinog objekta bit će ograničeno samo na sebe.
Q85. Kako se objekti pohranjuju u Javi?
Odgovori: U javi svaki objekt kada se stvori dobije memorijski prostor iz hrpe. Kada sakupljač smeća uništi objekt, prostor koji mu je dodijeljen iz hrpe preraspodjeljuje se u hrpu i postaje dostupan svim novim objektima.
Q86. Kako možemo pronaći stvarnu veličinu predmeta na hrpi?
Odgovor: U javi ne postoji način da se utvrdi točna veličina predmeta na hrpi.
Q87. Koji će od sljedećih razreda imati više dodijeljene memorije?
Klasa A: Tri metode, četiri varijable, nema predmeta
Klasa B: Pet metoda, tri varijable, nema predmeta
Odgovori: Memorija se ne dodjeljuje prije stvaranja objekata. Budući da za obje klase ne postoje stvoreni objekti, pa se memorija ne dodjeljuje na hrpu ni za jednu klasu.
Q88. Što se događa ako se u programu ne obrađuje iznimka?
Odgovori: Ako se u programu ne obrađuje izuzetak pomoću blokova try catch, program se prekida i nijedan se izraz ne izvršava nakon izraza koji je izazvao bacanje iznimke.
Q89. Imam više konstruktora definiranih u klasi. Je li moguće pozvati konstruktor iz tijela drugog konstruktora?
Odgovori: Ako klasa ima više konstruktora, moguće je pozvati jedan konstruktor iz tijela drugog pomoću ovog () .
Q90. Što znači anonimni razred?
Odgovori: Anonimna klasa je klasa definirana bez ikakvog imena 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(){@Overridepublic boolean hasMoreElements(){// TODO Auto-generated method stubreturn false;}@Overridepublic Object nextElement(){// TODO Auto-generated method stubreturn null;}}
Q91. Postoji li način za povećanje veličine niza nakon njegove deklaracije?
Odgovori: Nizovi su statični i nakon što odredimo njegovu veličinu, ne možemo ih promijeniti. Ako želimo koristiti takve zbirke gdje bi nam mogla biti potrebna promjena veličine (broja stavki), trebali bismo dati prednost vektoru nad nizom.
Q92. Ako aplikacija ima više klasa, je li u redu imati glavnu metodu u više klasa?
Odgovori: Ako postoji glavna metoda u više klasa u Java aplikaciji, to neće uzrokovati probleme jer će ulazna točka za bilo koju aplikaciju biti određena klasa i kôd će započeti samo s glavne metode te određene klase.
Q93. Želim zadržati podatke o objektima za kasniju upotrebu. Koji je najbolji pristup za to?
Odgovor: Najbolji način za zadržavanje podataka za buduću upotrebu je korištenje koncepta serializacije.
Q94. Što je lokalni razred u Javi?
Odgovor: U Javi, ako definiramo novu klasu unutar određenog bloka, ona se naziva lokalna klasa. Takva klasa ima lokalni opseg i nije upotrebljiva izvan bloka gdje je definirana.
Q95. String i StringBuffer predstavljaju objekte String. Možemo li usporediti String i StringBuffer u Javi?
Odgovor: Iako i String i StringBuffer predstavljaju String objekte, ne možemo ih međusobno uspoređivati i ako ih pokušamo usporediti, dobit ćemo pogrešku.
Q96. Koji API nudi Java za operacije na skupu objekata?
Odgovor: Java nudi API za prikupljanje koji pruža mnoge korisne metode koje se mogu primijeniti na skup objekata. Neke od važnih klasa koje pruža API za prikupljanje uključuju ArrayList, HashMap, TreeSet i TreeMap.
Q97. Možemo li lijevanjem bilo kojeg drugog tipa ubaciti u logički tip?
Odgovor: Ne, niti možemo prebaciti bilo koji drugi primitivni tip na logički tip podataka niti možemo prebaciti logički tip podataka na bilo koji drugi primitivni tip podataka.
Q98. Možemo li koristiti različite vrste povratka za metode kada su nadjačane?
Odgovori: Osnovni zahtjev nadjačavanja metode u Javi je da nadjačana metoda ima isto ime i parametre. Ali metoda se može nadjačati drugim tipom povrata sve dok novi tip povrata proširuje izvornik.
Na primjer, metoda vraća referentni tip.
Class B extends A {A method(int x) {//original method}B method(int x) {//overridden method}}
Q99. Koja je osnovna klasa svih klasa iznimki?
Odgovor: U Javi je Java.lang.Throwable super klasa svih klasa iznimki i sve su klase iznimke izvedene iz ove osnovne klase.
Q100. Koji je redoslijed poziva konstruktora u nasljeđivanju?
Odgovori: 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 intervju za posao !!! Prođite kroz Java tutorial kako biste se bolje pripremili.
Ova detaljna pdf pitanja o intervjuu za Java pomoći će vam da razjasnite sumnje u vezi s pitanjima o intervjuu za Java, a također će vam pomoći da razbijete intervju.