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

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)