Lejupielādēt PDF
Mēs esam apkopojuši visbiežāk uzdotos Java intervijas jautājumus un atbildes, kas palīdzēs sagatavoties Java pamata intervijas jautājumiem, kurus intervētājs jums varētu uzdot jūsu intervijas laikā. Šajā Java pamata intervijas jautājumu sarakstā mēs esam iekļāvuši visus bieži uzdotos pamata un papildu Java Java intervijas jautājumus ar detalizētām atbildēm, lai palīdzētu jums notīrīt darba interviju.
Šajā sarakstā ir 100 svarīgi Java Java intervijas jautājumi iesācējiem, kā arī Java intervijas jautājumi un atbildes pieredzējušiem programmētājiem, lai palīdzētu viņiem sagatavoties intervijai. Šī detalizētā Java programmēšanas intervijas jautājumu rokasgrāmata palīdzēs jums viegli izjaukt darba interviju.
Java intervijas pamatjautājumi un atbildes iesācējiem un pieredzējušiem
Q1. Kāda ir atšķirība starp iekšējo klasi un apakšklasi?
Ans: Iekšējā klase ir klase, kas ir ievietota citā klasē. Iekšējai klasei ir piekļuves tiesības klasei, kura to ligzdo, un tā var piekļūt visiem ārējā klasē definētajiem mainīgajiem un metodēm.
Apakšklase ir klase, kas manto no citas klases, ko sauc par superklasi. Apakšklase var piekļūt visām savas superklases publiskajām un aizsargātajām metodēm un laukiem.
Q2. Kādi ir dažādi piekļuves specifikatori Java klasēm?
Ans: Java valodā piekļuves specifikatori ir atslēgas vārdi, kas tiek izmantoti pirms klases nosaukuma, kas nosaka piekļuves jomu. Klašu piekļuves specifikatoru veidi ir:
1. Publisks: klase, metode, lauks ir pieejams no jebkuras vietas.
2. Aizsargāts: Metodei, laukam var piekļūt no tās pašas klases, kurai pieder, vai no apakšklasēm, un no vienas paketes klases, bet ne no ārpuses.
3. Noklusējums: Metodei, laukam, klasei var piekļūt tikai no tās pašas pakotnes, nevis no tās vietējās pakotnes.
4. Privāts: metode, lauks var piekļūt no tās pašas klases, kurai viņi pieder.
Q3. Kāds ir statisko metožu un statisko mainīgo mērķis?
Ans: Ja ir prasība koplietot metodi vai mainīgo starp vairākiem klases objektiem, nevis katram objektam izveidot atsevišķas kopijas, mēs izmantojam statisko atslēgvārdu, lai izveidotu metodi vai mainīgo visiem objektiem.
Q4. Kas ir datu iekapsulēšana un kāda ir tās nozīme?
Ans: iekapsulēšana ir objektorientētas programmēšanas jēdziens, lai īpašības un metodes apvienotu vienā vienībā.
Iekapsulēšana palīdz programmētājiem sekot modulārai pieejai programmatūras izstrādē, jo katram objektam ir savs metožu un mainīgo kopums, un tas funkcijas pilda neatkarīgi no citiem objektiem. Iekapsulēšana kalpo arī datu slēpšanai.
Q5. Kas ir vienklases klase? Sniedziet praktisku tā izmantošanas piemēru.
Java singla klasei var būt tikai viens eksemplārs, un tāpēc visas tās metodes un mainīgie pieder tikai vienam gadījumam. Singleton klases koncepcija ir noderīga situācijās, kad ir jāierobežo klases objektu skaits.
Labākais atsevišķa lietojuma scenārija piemērs ir gadījums, kad dažu draiveru ierobežojumu dēļ vai licencēšanas problēmu dēļ ir ierobežots tikai viens savienojums ar datu bāzi.
Q6. Kas ir Java cilnes? Kādi ir trīs veidu cilpas?
Ans: Looping tiek izmantots programmēšanā, lai atkārtoti izpildītu paziņojumu vai paziņojuma bloku. Java ir trīs veidu cilpas:
1) Cilpām
Cilpas tiek izmantotas java, lai atkārtoti izpildītu paziņojumus noteiktā reižu skaitā. Cilpām tiek izmantotas, ja programmētājs zina, cik reižu izpildīt paziņojumus.
2) Kamēr cilpas
Kamēr cilpa tiek izmantota, ja noteikti priekšraksti ir jāizpilda atkārtoti, līdz tiek izpildīts nosacījums. Laikā, kamēr notiek cikls, pirms paziņojumu izpildes vispirms tiek pārbaudīts stāvoklis.
3) Dariet, kamēr cilpas
Vai kamēr cilpa ir tāda pati kā Kaut cilpa ar tikai atšķirību, šis nosacījums tiek pārbaudīts pēc paziņojumu bloka izpildes. Tādējādi do while loop gadījumā paziņojumi tiek izpildīti vismaz vienu reizi.
7. jautājums: kas ir bezgalīga cilpa? Cik bezgalīga cilpa tiek deklarēta?
Ans: Bezgalīga cilpa darbojas bez jebkādiem nosacījumiem un darbojas bezgalīgi. Bezgalīgu cilpu var salauzt, definējot jebkuru pārrāvuma loģiku paziņojumu bloku pamattekstā.
Bezgalīgā cilpa tiek deklarēta šādi:
for (;;){// Statements to execute// Add any loop breaking logic}
Q8. Kāda ir atšķirība starp turpinājuma un pārtraukuma paziņojumu?
Ans: pārtraukums un turpināšana ir divi svarīgi atslēgvārdi, kas tiek izmantoti lokos. Ja pārtraukuma atslēgvārds tiek izmantots cilpā, cilpa tiek nekavējoties pārtraukta, savukārt, ja tiek izmantots turpināšanas atslēgvārds, pašreizējā iterācija tiek pārtraukta un cilpa turpinās ar nākamo atkārtojumu.
Zemāk esošajā piemērā cilpa ir salauzta, kad skaitītājs sasniedz 4.
for (counter = 0; counter & lt; 10; counter++)system.out.println(counter);if (counter == 4) {break;}}
Zemāk redzamajā piemērā, kad skaitītājs sasniedz 4, cilpa pāriet uz nākamo atkārtojumu un visi paziņojumi pēc atslēgvārda turpināšanas tiek izlaisti pašreizējai iterācijai.
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");}
Q9. Kāda ir atšķirība starp dubulto un mainīgo mainīgo Java?
Ans: Java valodā pludiņš aizņem 4 baitus atmiņā, bet Double - 8 baitus atmiņā. Pludiņš ir viena precizitātes peldošā komata decimālskaitlis, bet Double - divkāršs precizitātes decimālskaitlis.
Q10. Kas ir Java pēdējais atslēgvārds? Sniedziet piemēru.
Ans: Javā konstante tiek deklarēta, izmantojot atslēgvārdu Galīgā. Vērtību var piešķirt tikai vienu reizi, un pēc piešķiršanas konstantes vērtību nevar mainīt.
Zemāk esošajā piemērā tiek deklarēta konstante ar nosaukumu const_val un piešķirta līnija:
Privātais fināls int const_val = 100
Kad metode tiek pasludināta par galīgu, apakšklasēs to NAV iespējams ignorēt. Šī metode ir ātrāka nekā jebkura cita metode, jo tā tiek atrisināta ievērotajā laikā.
Kad klase tiek pasludināta par galīgu, to nevar apakšklasē. Stīgu, veselu skaitļu un citu iesaiņojuma klašu piemērs.
Q11. Kas ir trīskāršais operators? Sniedziet piemēru.
Ans: trīskāršais operators, saukts arī par nosacīto operatoru, tiek izmantots, lai izlemtu, kuru vērtību piešķirt mainīgajam, pamatojoties uz Būla vērtības novērtējumu. To apzīmē kā?
Zemāk esošajā piemērā, ja rangs ir 1, statusam tiek piešķirta vērtība “Gatavs”, cits “Gaida”.
public class conditionTest {public static void main(String args[]) {String status;int rank = 3;status = (rank == 1) ? "Done" : "Pending";System.out.println(status);}}
12. jautājums: Kā jūs varat ģenerēt nejaušus skaitļus Java?
Ans:
- Izmantojot Math.random (), varat ģenerēt nejaušus skaitļus diapazonā, kas lielāks vai vienāds ar 0,1 un mazāks par 1,0
- Random klases izmantošana paketē java.util
Q13. Kas ir noklusējuma slēdža gadījums? Sniedziet piemēru.
Ans: Slēdža paziņojumā noklusējuma gadījums tiek izpildīts, ja neatbilst neviens cits slēdža nosacījums. Noklusējuma gadījums ir izvēles gadījums. To var deklarēt tikai pēc tam, kad visi pārējie slēdžu gadījumi ir kodēti.
Zemāk esošajā piemērā, ja rezultāts nav 1 vai 2, tiek izmantots noklusējuma reģistrs.
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");}}}
Q14. Kāda ir Java pamatklase, no kuras atvasinātas visas klases?
Ans: java.lang.object
Q15. Vai Java galvenā () metode var atgriezt visus datus?
Ans: Java, main () metode nevar atgriezt nekādus datus, un tāpēc tā vienmēr tiek deklarēta ar anulētu atgriešanas veidu.
Q16. Kas ir Java paketes? Kāda ir paku nozīme?
Ans: Java pakotne ir klašu un saskarņu kopums, kas ir apvienoti, jo tie ir savstarpēji saistīti. Pakotņu izmantošana palīdz izstrādātājiem modulēt kodu un grupēt kodu pareizai atkārtotai izmantošanai. Kad kods ir iepakots iepakojumos, to var importēt citās klasēs un izmantot.
Q17. Vai mēs varam pasludināt klasi par abstraktu bez jebkādas abstraktas metodes?
Ans: Jā, mēs varam izveidot abstraktu klasi, izmantojot abstraktu atslēgvārdu pirms klases nosaukuma, pat ja tam nav abstraktas metodes. Tomēr, ja klasei ir kaut viena abstrakta metode, tā jāpasludina par abstraktu, pretējā gadījumā tas radīs kļūdu.
Q18. Kāda ir atšķirība starp abstrakto klasi un Java saskarni?
Ans: primārā atšķirība starp abstrakto klasi un saskarni ir tāda, ka interfeisam var būt tikai publisko statisko metožu deklarēšana bez konkrētas ieviešanas, savukārt abstraktā klasē var būt dalībnieki ar jebkādiem piekļuves specifikatoriem (publiski, privāti utt.) Ar vai bez konkrētas ieviešanas.
Vēl viena būtiska atšķirība abstrakto klašu un saskarņu lietošanā ir tāda, ka klasei, kas ievieš saskarni, jāievieš visas saskarnes metodes, savukārt klasei, kas mantojusi no abstraktās klases, nav jāievieš visas tās superklases metodes.
Klase var ieviest vairākas saskarnes, bet tā var paplašināt tikai vienu abstraktu klasi.
Q19. Kāda ir saskarņu ietekme uz abstraktām klasēm?
Ans: Saskarnes darbojas lēnāk, salīdzinot ar abstraktajām klasēm, jo saskarnēm ir nepieciešami papildu norādījumi. Vēl viens galvenais faktors, kas izstrādātājiem jāņem vērā, ir tas, ka jebkura klase var paplašināt tikai vienu abstraktu klasi, savukārt klase var ieviest daudzas saskarnes.
Saskarņu izmantošana arī rada papildu slogu izstrādātājiem, jo jebkurā brīdī, kad saskarne tiek ieviesta klasē; izstrādātājs ir spiests ieviest katru saskarnes metodi.
Q20. Vai importējot pakotni, tās pakotnes tiek importētas arī Java valodā?
Ans: java, ja pakete tiek importēta, tās apakšpaketes netiek importētas, un izstrādātājam tās ir jāimportē atsevišķi, ja nepieciešams.
Piemēram, ja izstrādātājs importē paketes universitāti. *, Tiek ielādētas visas klases paketē ar nosaukumu universitāte, bet netiek ielādētas nevienas klases no apakšpaketes. Lai ielādētu klases no tās pakotnes (teiksim nodaļas), izstrādātājam tā ir jāimportē šādi:
Importēt universitāti. Departaments. *
Q21. Vai mēs varam pasludināt savas klases galveno metodi par privātu?
Ans: java, galvenajai metodei jābūt publiski statiskai, lai pareizi palaistu jebkuru lietojumprogrammu. Ja galvenā metode tiek pasludināta par privātu, izstrādātājs nesaņems nekādu kompilācijas kļūdu, tomēr tā netiks izpildīta un sniegs izpildlaika kļūdu.
Q22. Kā mēs varam nodot argumentu funkcijai ar atsauci, nevis nodot vērtību?
Ans: Java valodā funkcijai argumentu var nodot tikai pēc vērtības, nevis pēc atsauces.
Q23. Kā objekts tiek sērijveidots Java valodā?
Ans: java valodā objektu konvertēšanai baitu straumē, veicot sērijveidošanu, klase ievieš saskarni ar nosaukumu Serializable. Visi klases objekti, kas ievieš seriālizējamo saskarni, tiek serializēti un to stāvoklis tiek saglabāts baitu straumē.
Q24. Kad mums būtu jāizmanto sērijas?
Ans: Serializāciju izmanto, ja dati jāpārraida pa tīklu. Izmantojot serializāciju, objekta stāvoklis tiek saglabāts un pārveidots par baitu straumi. Baitu straume tiek pārsūtīta pa tīklu, un objekts tiek atkārtoti izveidots galamērķī.
Q25. Vai izmēģinājuma blokam ir obligāti jāseko Java ķeršanas blokam izņēmumu apstrādei?
Ans: mēģinājuma blokam jāseko vai nu ķeršanas blokam, vai beidzot bloķēšanai, vai abiem. Jebkurš izņēmums, kas tiek izmests no mēģinājuma bloka, ir jāķer vai nu ķeršanas blokā, vai arī visi citi konkrētie uzdevumi, kas jāveic pirms koda aborta ievietošanas blokā Beidzot.
Q26. Vai ir kāds veids, kā izlaist Visbeidzot izņēmuma bloku, pat ja izņēmumu blokā ir kāds izņēmums?
Ans: Ja mēģinājuma blokā tiek izvirzīts izņēmums, vadība pāriet, lai bloķētu bloku, ja tas pastāv citādi, lai beidzot bloķētu. Visbeidzot, bloks vienmēr tiek izpildīts, kad rodas izņēmums, un vienīgais veids, kā izvairīties no jebkādu paziņojumu izpildes blokā Visbeidzot, ir piespiedu kārtā pārtraukt kodu, mēģinājuma bloka beigās ierakstot šādu koda rindu:
System.exit(0);
Q27. Kad tiek izsaukts klases konstruktors?
Ans: Klases konstruktors tiek izsaukts katru reizi, kad objekts tiek izveidots ar jaunu atslēgvārdu.
Piemēram, šajā klasē divi objekti tiek izveidoti, izmantojot jaunu atslēgvārdu, un tāpēc konstruktors tiek izsaukts divas reizes.
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. Vai klasei var būt vairāki konstruktori?
Ans: Jā, klasē var būt vairāki konstruktori ar dažādiem parametriem. Kurš konstruktors tiek izmantots objektu izveidošanai, ir atkarīgs no argumentiem, kas nodoti, veidojot objektus.
Q29. Vai mēs varam ignorēt klases statiskās metodes?
Ans: Mēs nevaram ignorēt statiskās metodes. Statiskās metodes pieder klasei, nevis atsevišķiem objektiem, un tās tiek atrisinātas sastādīšanas laikā (nevis izpildlaikā). Pat ja mēs mēģinām ignorēt statisko metodi, mēs nesaņemsim ne komplimentācijas kļūdu, ne ignorēšanas ietekmi, palaižot kods.
Q30. Kāds būs rezultāts zemāk esošajā piemērā?
public class superclass {public void displayResult() {system.out.println("Printing from superclass");}}public class subclass extends superclass {public void displayResult() {system.out.println("Displaying from subClass");super.displayResult();}public static void main(String args[]) {subclass obj = new subclass();obj.displayResult();}}
Ans : izeja būs:
Attēlošana no apakšklases
Attēlošana no superklases
Q31. Vai virkne ir java datu tips?
Ans: Virkne nav primitīvs datu tips java. Kad virkne tiek izveidota java, tas faktiski ir Java.Lang.String klases objekts, kas tiek izveidots. Pēc šī virknes objekta izveides virknes objektā var izmantot visas String klases iebūvētās metodes.
Q32. Cik virknes objektu ir izveidots šajā piemērā?
String s1="I am Java Expert";String s2="I am C Expert";String s3="I am Java Expert";
Ans: Iepriekš minētajā piemērā tiek izveidoti divi Java.Lang.String klases objekti. s1 un s3 ir atsauces uz to pašu objektu.
Q33. Kāpēc virknes Java tiek sauktas par nemainīgām?
Ans: Java valodā virknes objekti tiek saukti par nemainīgiem, jo, tiklīdz virknei ir piešķirta vērtība, to nevar mainīt, un, ja tā tiek mainīta, tiek izveidots jauns objekts.
Zemāk esošajā piemērā atsauce str attiecas uz virknes objektu, kura vērtība ir “Viena vērtība”.
String str="Value One";
Kad tam tiek piešķirta jauna vērtība, tiek izveidots jauns virknes objekts un atsauce tiek pārvietota uz jauno objektu.
str="New Value";
Q34. Kāda ir atšķirība starp masīvu un vektoru?
Ans: Masīvs grupē viena primitīva tipa datus un ir statisks, kamēr vektori ir dinamiska rakstura un var saturēt dažādu veidu datus.
Q35. Kas ir multi-threading?
Ans: Multi threading ir programmēšanas koncepcija, lai vienā programmā vienlaikus izpildītu vairākus uzdevumus. Vītnēm ir vienāda procesa kaudze un tās darbojas paralēli. Tas palīdz uzlabot jebkuras programmas veiktspēju.
Q36. Kāpēc Java darbojas Runnable Interface?
Ans: Runnable interfeiss tiek izmantots java, lai ieviestu vairākas vītņotas lietojumprogrammas. Java.Lang.Runnable saskarni ievieš klase, lai atbalstītu vairāku pavedienu izveidošanu.
Q37. Kādi ir divi multi-threading ieviešanas veidi Java?
Ans: Java programmā var izstrādāt vairākas vītņotas lietojumprogrammas, izmantojot jebkuru no šīm divām metodēm:
1. Izmantojot Java.Lang.Runnable interfeisu. Klases ievieš šo saskarni, lai iespējotu vairākus pavedienus. Šajā saskarnē ir ieviesta Run () metode.
2. Rakstot klasi, kas paplašina Java.Lang.Thread klasi.
Q38. Kuras no tām būtu jāizvēlas, ja jāizmanto daudz datu izmaiņu? Stīga vai StringBuffer?
Ans: Tā kā StringBuffers pēc būtības ir dinamisks un mēs varam mainīt StringBuffer objektu vērtības atšķirībā no String, kas ir nemaināma, vienmēr ir laba izvēle izmantot StringBuffer, ja dati tiek mainīti pārāk daudz. Ja šādā gadījumā izmantosim virkni, katrai datu izmaiņai tiks izveidots jauns virknes objekts, kas būs papildu pieskaitāmā summa.
Q39. Kāds ir Break lietošanas mērķis katrā Switch Statement gadījumā?
Ans: Pārtraukums tiek izmantots pēc katra gadījuma (izņemot pēdējo) slēdžā, lai kods sadalītos pēc derīgās lietas un netiktu plūst arī procedūras gadījumos.
Ja pārtraukums netiek izmantots pēc katra gadījuma, visi gadījumi pēc derīgas lietas tiek izpildīti, kā rezultātā tiek iegūti nepareizi rezultāti.
Q40. Kā Java tiek veikta atkritumu savākšana?
Ans: Java, kad uz objektu vairs nav atsauces, notiek atkritumu savākšana un objekts tiek automātiski iznīcināts. Automātiskai atkritumu savākšanai java izsauc metodi System.gc () vai metodi Runtime.gc ().
Q41. Kā mēs varam izpildīt jebkuru kodu pat pirms galvenās metodes?
Ans: Ja mēs vēlamies izpildīt jebkādus paziņojumus pirms objektu izveidošanas pat klases ielādes laikā, mēs klasē varam izmantot statisku koda bloku. Jebkurš paziņojums šajā statiskajā koda blokā tiks izpildīts vienu reizi klases ielādes laikā, pat pirms objektu izveidošanas galvenajā metodē.
Q42. Vai klase var vienlaikus būt gan superklase, gan apakšklase? Sniedziet piemēru.
Ans: Ja tiek izmantota mantojuma hierarhija, klase vienlaikus var būt super klase citai klasei un apakšklase citai klasei.
Tālāk sniegtajā piemērā kontinenta klase ir pasaules klases apakšklase, un tā ir valsts klases super klase.
public class world {… .}public class continenet extends world {… }public class country extends continent {… .}
Q43. Kā tiek radīti klases objekti, ja klasē nav definēts neviens konstruktors?
Ans: Pat ja Java klasē nav definēts neviens tiešs konstruktors, objektu veiksmīga izveide tiek veikta, jo objektu izveidošanai netieši tiek izmantots noklusējuma konstruktors. Šim konstruktoram nav parametru.
Q44. Kā mēs varam nodrošināt, ka, izmantojot vairākus pavedienus, resursu vienlaikus neizmanto vairāki pavedieni?
Ans: vairāku pavedienu laikā piekļuvi resursiem, kas tiek koplietoti starp vairākiem pavedieniem, var kontrolēt, izmantojot sinhronizācijas jēdzienu. Izmantojot sinhronizēto atslēgvārdu, mēs varam nodrošināt, ka tikai viens pavediens var vienlaikus izmantot koplietojamo resursu, bet citi var iegūt resursa kontroli tikai tad, kad tas ir atbrīvojies no otra, kurš to izmanto.
Q45. Vai objektam mēs varam izsaukt klases konstruktoru vairākas reizes?
Ans: Konstruktors tiek izsaukts automātiski, kad mēs izveidojam objektu, izmantojot jaunu atslēgvārdu. Objekta izveides laikā tas tiek izsaukts tikai vienreiz, un tāpēc mēs nevaram vēlreiz izsaukt konstruktoru objektam pēc tā izveides.
Q46. Ir divas klases ar nosaukumu A un B klase. Abas klases ir vienā iepakojumā. Vai privātajam A klases dalībniekam var piekļūt ar B klases objektu?
Ans: Privātie klases dalībnieki nav pieejami ārpus šīs klases darbības jomas, un jebkura cita klase, pat tajā pašā paketē, nevar viņiem piekļūt.
Q47. Vai klasē ar tādu pašu nosaukumu mums var būt divas metodes?
Ans: Mēs varam definēt divas metodes klasē ar tādu pašu nosaukumu, bet ar atšķirīgu parametru skaitu / veidu. Kura metode tiek izsaukta, būs atkarīga no nodotajiem parametriem.
Piemēram, zemāk esošajā klasē mums ir divas drukas metodes ar tādu pašu nosaukumu, bet dažādiem parametriem. Atkarībā no parametriem tiks izsaukts atbilstošais:
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. Kā mēs varam izveidot java objekta kopiju?
Ans: Mēs varam izmantot klonēšanas jēdzienu, lai izveidotu objekta kopiju. Izmantojot klonu, mēs izveidojam kopijas ar faktisko objekta stāvokli.
Clone () ir Cloneable interfeisa metode, tāpēc objektu kopiju izgatavošanai ir jāievieš Cloneable interfeiss.
Q49. Kāds ir mantojuma izmantošanas ieguvums?
Ans: mantojuma izmantošanas galvenais ieguvums ir koda atkārtota izmantošana, jo mantošana ļauj apakšklasēm atkārtoti izmantot tā superklases kodu. Polimorfisms (paplašināmība) ir vēl viens liels ieguvums, kas ļauj ieviest jaunu funkcionalitāti, neietekmējot esošās atvasinātās klases.
Q50. Kāds ir noklusējuma piekļuves specifikators klases mainīgajiem un metodēm?
Ans: Noklusējuma piekļuves specifikators mainīgajiem un metodei ir aizsargāts ar paketi, ti, mainīgie un klase ir pieejami jebkurai citai klasei, bet tajā pašā paketē, nevis ārpus paketes.
Q51. Sniedziet rādītāju izmantošanas piemēru Java klasē.
Ans: Java nav norāžu. Tāpēc mēs nevaram Java rādītāju jēdzienu izmantot.
Q52. Kā mēs varam ierobežot klases mantojumu, lai no tās nevarētu pārmantot nevienu klasi?
Ans: Ja mēs vēlamies, lai klasi vairs nepaplašinātu neviena klase, mēs varam izmantot atslēgas vārdu Galīgais kopā ar klases nosaukumu.
Šajā piemērā akmens klase ir pēdējā, un to nevar pagarināt
public Final Class Stone {// Class methods and Variables}
Q53. Kāda ir aizsargātās piekļuves specifikatora piekļuves joma?
Ans: Kad metode vai mainīgais tiek deklarēts ar aizsargātas piekļuves specifikatoru, tas kļūst pieejams tajā pašā klasē, jebkurā citā tās pašas paketes klasē, kā arī apakšklasē.
Pārveidotājs |
Klase |
Iepakojums |
Apakšklase |
Pasaule |
publiski |
Jā |
Jā |
Jā |
Jā |
aizsargāts |
Jā |
Jā |
Jā |
N |
nav modifikatora |
Jā |
Jā |
N |
N |
Privāts |
Jā |
N |
N |
N |
Q54. Kāda ir atšķirība starp skursteni un rindu?
Ans: Stack un Queue abi tiek izmantoti kā vietturis datu vākšanai. Primārā atšķirība starp kaudzi un rindu ir tā, ka kaudze ir balstīta uz principu Last in First out (LIFO), savukārt rindas pamatā ir FIFO (First In First Out) princips.
Q55. Java, kā mēs varam aizliegt mainīgo serializāciju?
Ans: Ja mēs vēlamies, lai daži klases mainīgie netiktu sērijveidoti, tos deklarējot , mēs varam izmantot atslēgvārdu pārejošs . Piemēram, zemāk redzamais mainīgais trans_var ir pārejošs mainīgais, un to nevar seriālizēt:
public class transientExample {private transient trans_var;// rest of the code}
Q56. Kā primitīvu datu tipus varam izmantot kā objektus?
Ans: primitīvos datu tipus, piemēram, int, var apstrādāt kā objektus, izmantojot to attiecīgās iesaiņošanas klases. Piemēram, Integer ir iesaiņošanas klase primitīvajam datu tipam int. Mēs varam izmantot dažādas metodes iesaiņošanas klasei, tāpat kā jebkuru citu objektu.
Q57. Kādi izņēmumi tiek sastādīti apkopošanas laikā?
Ans: Pārbaudītos izņēmumus var iegūt programmas sastādīšanas laikā. Pārbaudītie izņēmumi jāapstrādā, izmantojot koda mēģinājumu noķert bloku, lai veiksmīgi sastādītu kodu.
Q58. Aprakstiet dažādus pavediena stāvokļus.
Ans: Java pavediens var būt kādā no šiem stāvokļiem:
- Gatavs: kad pavediens ir izveidots, tas ir gatavs.
- Darbojas: pavediens, kas pašlaik tiek izpildīts, darbojas.
- Gaida: pavediens, kas gaida citu pavedienu, lai atbrīvotu noteiktus resursus, ir gaidīšanas stāvoklī.
- Dead: pavediens, kas pēc izpildes ir miris, ir miris.
Q59. Vai mēs varam izmantot klases noklusējuma konstruktoru pat tad, ja ir definēts nepārprotams konstruktors?
Ans: Java nodrošina noklusējuma bez argumentu konstruktoru, ja Java klasē nav definēts precīzi izteikts konstruktors. Bet, ja ir definēts nepārprotams konstruktors, noklusējuma konstruktoru nevar izmantot, un izstrādātājs var izmantot tikai tos konstruktorus, kas ir definēti klasē.
Q60. Vai mēs varam ignorēt metodi, izmantojot to pašu metodes nosaukumu un argumentus, bet dažādus atgriešanās veidus?
Ans: Metodes ignorēšanas pamatnosacījums ir tāds, ka metodes nosaukumam, argumentiem, kā arī atgriešanas tipam jābūt tieši tādam pašam kā metodei, kuru ignorē. Tādējādi, izmantojot citu atgriešanās veidu, metode netiek ignorēta.
Q61.Kāda būs nākamā koda izeja?
public class operatorExample {public static void main(String args[]) {int x = 4;system.out.println(x++);}}
Ans: Šajā gadījumā tiek izmantots postfix ++ operators, kurš vispirms atgriež vērtību un pēc tam palielina. Tādējādi tā izeja būs 4.
Q61. Cilvēks saka, ka viņš veiksmīgi sastādīja java klasi, tajā pat nemaz nerunājot par galveno metodi? Vai tas ir iespējams?
Ans: galvenā metode ir Java klases ieejas punkts, taču tā ir nepieciešama programmas izpildei; klase tiek veiksmīgi apkopota, pat ja tai nav galvenās metodes. To gan nevar palaist.
Q62. Vai mēs varam izsaukt nestatisku metodi no statiskas metodes iekšpuses?
Ans: Non-static metodes pieder klases objektiem, un tām ir objekta līmeņa darbības joma, un, lai izsauktu non-Static metodes no statiskā bloka (piemēram, no statiskās galvenās metodes), ir jāizveido klases objekts vispirms. Pēc tam, izmantojot objekta atsauci, var izmantot šīs metodes.
Q63. Kādi ir divi vides mainīgie, kas jāiestata, lai palaistu Java programmas?
Ans: Java programmas mašīnā var izpildīt tikai pēc tam, kad pareizi ir iestatīti divi vides mainīgie:
- PATH mainīgais
- Mainīgais CLASSPATH
Q64. Vai Java var izmantot mainīgos bez inicializācijas?
Ans: Ja Java mainīgo izmanto kodā bez iepriekšējas inicializācijas ar derīgu vērtību, programma neapkopo un rada kļūdu, jo Java mainīgajiem nav piešķirta noklusējuma vērtība.
Q65. Vai Java klasi var mantot no vairākām klasēm?
Ans: Java valodā klasi var atvasināt tikai no vienas klases, nevis no vairākām klasēm. Java neatbalsta vairākus mantojumus.
Q66. Vai konstruktoram var būt cits nosaukums nekā klases nosaukumam Java?
Ans: Java konstruktoram jābūt ar tādu pašu nosaukumu kā klases nosaukumam, un, ja nosaukums atšķiras, tas nedarbojas kā konstruktors, un kompilators to domā par parastu metodi.
Q67. Kāds būs Round (3.7) un Ceil (3.7) rezultāts?
Ans: Apaļais (3.7) atgriež 4 un Ceils (3.7) atgriež 4.
68. jautājums: vai mēs varam izmantot Java, lai pārietu uz konkrētu līniju?
Ans: Java valodā nav goto atslēgvārda, un Java neatbalsta šo iespēju pāriet uz noteiktu iezīmētu līniju.
Q69. Vai var atkal sākt beigtu pavedienu?
Ans: Java valodā pavedienu, kas ir miris, nevar atsākt. Nav iespējams restartēt beigtu pavedienu.
Q70. Vai šāda klases deklarācija ir pareiza?
Ans:
public abstract final class testClass {// Class methods and variables}
Ans: Iepriekš minētā klases deklarācija nav pareiza, jo abstraktu klasi nevar pasludināt par galīgo.
Q71. Vai JDK ir nepieciešams katrā datorā, lai palaistu Java programmu?
An: JDK ir Java izstrādes komplekts, un tas ir nepieciešams tikai izstrādei un Java programmas darbināšanai mašīnā, JDK nav nepieciešama. Nepieciešams tikai JRE.
Q72. Kāda ir atšķirība starp salīdzinājumu, kas veikts ar vienādu metodi, un == operatoru?
Ans: Java valodā metodi equals () izmanto, lai salīdzinātu divu virkņu objektu saturu, un atgriež vērtību true, ja abiem ir vienāda vērtība, savukārt operatoram == tiek salīdzinātas divu virkņu objektu atsauces.
Šajā piemērā vienāds () atgriež vērtību true, jo diviem virknes objektiem ir vienādas vērtības. Tomēr == operators atgriež vērtību false, jo abi virknes objekti atsaucas uz dažādiem objektiem:
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. Vai ir iespējams definēt metodi Java klasē, bet nodrošināt tās ieviešanu citas valodas, piemēram, C, kodā?
Ans: Jā, mēs to varam izdarīt, izmantojot vietējās metodes. Vietējās metodes balstītas izstrādes gadījumā mēs definējam publiskās statiskās metodes mūsu Java klasē bez tās ieviešanas, un pēc tam ieviešana tiek veikta citā valodā, piemēram, C atsevišķi.
Q74. Kā Java tiek definēti destruktori?
Ans: Java valodā klasē nav definēti destruktori, jo tas nav jādara. Java ir savs atkritumu savākšanas mehānisms, kas darbu veic automātiski, iznīcinot objektus, kad uz tiem vairs nav atsauces.
Q75. Vai mainīgais var būt vienlaikus lokāls un statisks?
Ans: Neviens mainīgais nevar būt gan statisks, gan lokāls vienlaikus. Definējot lokālo mainīgo kā statisku, rodas kompilācijas kļūda.
Q76. Vai saskarnē var būt statiskas metodes?
Ans: Statiskās metodes nevar ignorēt nevienā klasē, savukārt jebkuras saskarnes metodes pēc noklusējuma ir abstraktas un tām ir jābūt ieviestām klasēs, kas ievieš saskarni. Tāpēc nav jēgas statiskā metodes Java saskarnē.
Q77. Vai klasē, kas ievieš saskarni, vai mēs varam mainīt jebkura interfeisā definētā mainīgā vērtību?
Ans: Nē, mēs nevaram mainīt neviena interfeisa mainīgā lielumu ieviešanas klasē, jo visi interfeisā definētie mainīgie pēc noklusējuma ir publiski, statiski, kā arī galīgie un galīgie mainīgie ir kā konstantes, kuras vēlāk nevar mainīt.
Q78. Vai ir pareizi teikt, ka Java atkritumu savākšanas funkcijas dēļ Java programmai nekad nepietrūkst atmiņas?
Ans: kaut arī automātisko atkritumu savākšanu nodrošina Java, tas nenodrošina, ka Java programma neizzudīs atmiņā, jo pastāv iespēja, ka Java objektu izveide tiek veikta ātrāk, salīdzinot ar atkritumu savākšanu, kā rezultātā visu pieejamo atmiņas resursu aizpildīšana.
Tātad atkritumu savākšana palīdz samazināt programmas atmiņas izzušanas iespējas, taču tas to nenodrošina.
Q79. Vai galvenajai metodei var būt kāds cits atgriešanas veids?
Ans: Nē, Java klases galvenajai metodei var būt tikai spēkā neesošs atgriešanās veids, lai programma varētu veiksmīgi izpildīt.
Tomēr, ja pēc galvenās metodes pabeigšanas jums noteikti ir jāatgriež vērtība, varat izmantot System.exit (int status)
Q80. Es vēlos atkal sasniegt objektu un to izmantot, kad tas ir savākts. Kā tas ir iespējams?
Ans: Kad atkritumu savācējs ir iznīcinājis objektu, tas vairs neeksistē uz kaudzes, un tam vairs nevar piekļūt. Nav iespējas uz to atsaukties vēlreiz.
Q81. Kura metode Java pavedienu programmēšanā ir jāievieš visiem pavedieniem?
Ans: Run () ir Runnable interfeisa metode, kas jāievieš visiem pavedieniem.
Q82. Es vēlos kontrolēt datu bāzes savienojumus savā programmā un vēlos, lai vienlaikus tikai vienu pavedienu varētu izveidot datu bāzes savienojumu. Kā es varu ieviest šo loģiku?
Ans: To var īstenot, izmantojot sinhronizācijas jēdzienu. Ar datu bāzi saistīto kodu var ievietot metodē, kas sinhronizē atslēgvārdu, lai vienlaikus tam piekļūtu tikai viens pavediens.
Q83. Kā programmētājs var manuāli izmest izņēmumu?
Ans: Lai manuāli iemestu izņēmumu koda blokā, tiek izmantots metiena atslēgvārds. Tad šis izņēmums tiek noķerts un apstrādāts bloķēšanas blokā.
public void topMethod() {try {excMethod();} catch (ManualException e) {}}public void excMethod {String name = null;if (name == null) {throw (new ManualException("Exception thrown manually ");}}
Q84. Es vēlos, lai mana klase tiktu attīstīta tā, lai neviena cita klase (pat atvasinātā klase) nevarētu izveidot savus objektus. Kā es to varu izdarīt?
Ans: Ja pasludināsim klases konstruktoru par privātu, tā nebūs pieejama nevienai citai klasei, līdz ar to neviena cita klase to nespēs panākt, un tā objekta veidošanās būs ierobežota tikai ar viņu pašu.
Q85. Kā objekti tiek glabāti Java?
Ans: Java valodā katrs izveidots objekts no kaudzes iegūst atmiņas vietu. Kad objektu iznīcina atkritumu savācējs, tam no kaudzes atvēlētā vieta tiek atkārtoti piešķirta kaudzei un kļūst pieejama visiem jaunajiem objektiem.
Q86. Kā mēs varam atrast objekta faktisko izmēru uz kaudzes?
Ans: Javā nav iespējas uzzināt precīzu objekta izmēru uz kaudzes.
Q87. Kurām no šīm klasēm būs atvēlēta vairāk atmiņas?
A klase: Trīs metodes, četri mainīgie, bez objekta
B klase: Piecas metodes, trīs mainīgie, bez objekta
Ans: Pirms objektu izveides atmiņa netiek piešķirta. Tā kā abām klasēm nav izveidots neviens objekts, tāpēc nevienai klasei kaudzē netiek piešķirta atmiņa.
Q88. Kas notiek, ja programmā netiek izskatīts izņēmums?
Ans: Ja izņēmums netiek apstrādāts programmā, izmantojot izmēģinājuma ķeršanas blokus, programma tiek pārtraukta, un pēc paziņojuma, kas izraisīja izņēmumu, neviens paziņojums netiek izpildīts.
Q89. Man klasē ir definēti vairāki konstruktori. Vai ir iespējams izsaukt konstruktoru no cita konstruktora ķermeņa?
Ans: Ja klasei ir vairāki konstruktori, izmantojot šo () , ir iespējams izsaukt vienu konstruktoru no cita korpusa .
Q90. Ko nozīmē anonīma klase?
Ans: Anonīma klase ir klase, kas definēta bez nosaukuma vienā koda rindā, izmantojot jaunu atslēgvārdu.
Piemēram, zem koda vienā koda rindiņā esam definējuši anonīmu klasi:
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. Vai ir veids, kā palielināt masīva lielumu pēc tā deklarēšanas?
Ans: Masīvi ir statiski, un, kad mēs esam norādījuši tā lielumu, mēs to nevaram mainīt. Ja mēs vēlamies izmantot tādas kolekcijas, kur mums var būt nepieciešama izmēra maiņa (vienumu skaits), mums vajadzētu dot priekšroku vektoram, nevis masīvam.
Q92. Ja lietojumprogrammā ir vairākas klases, vai ir pareizi, ka galvenā metode ir vairāk nekā vienā klasē?
Ans: Ja Java lietojumprogrammā ir galvenā metode vairākās klasēs, tas neradīs nekādas problēmas, jo jebkuras lietojumprogrammas ieejas punkts būs noteikta klase, un kods tiks sākts tikai no šīs konkrētās klases galvenās metodes.
Q93. Es vēlos saglabāt objektu datus vēlākai izmantošanai. Kāda ir labākā pieeja, lai to izdarītu?
Ans: Labākais veids, kā saglabāt datus turpmākai izmantošanai, ir izmantot serializācijas jēdzienu.
Q94. Kas ir vietējā klase Java?
Ans: Ja Java, ja konkrētā bloka iekšpusē mēs definējam jaunu klasi, to sauc par vietējo klasi. Šādai klasei ir lokāla darbības joma, un tā nav izmantojama ārpus bloka, kur tā ir definēta.
Q95. String un StringBuffer abi attēlo virknes objektus. Vai mēs varam salīdzināt Java virknes un StringBuffer?
Ans: Lai gan gan String, gan StringBuffer attēlo virknes objektus, mēs tos nevaram salīdzināt savā starpā, un, mēģinot tos salīdzināt, tiek parādīta kļūda.
Q96. Kuru API nodrošina Java operācijām ar objektu kopu?
Ans: Java nodrošina Collection API, kas nodrošina daudzas noderīgas metodes, kuras var pielietot objektu kopai. Dažas no svarīgākajām klasēm, ko nodrošina Collection API, ir ArrayList, HashMap, TreeSet un TreeMap.
Q97. Vai mēs varam nodot jebkuru citu tipu Būla tipam ar tipa liešanu?
Ans: Nē, mēs nevaram nodot nevienu citu primitīvu tipu Būla datu tipam, kā arī nevaram nodot Būla datu tipu jebkuram citam primitīvajam datu tipam.
Q98. Vai mēs varam izmantot dažādus atgriešanas veidus metodēm, kad tiek ignorēti?
Ans: Metodes ignorēšanas Java pamatprasība ir tāda, ka ignorētajai metodei vajadzētu būt vienādam nosaukumam un parametriem. Bet metodi var ignorēt ar citu atgriešanās veidu, ja vien jaunais atgriešanas veids paplašina oriģinālu.
Piemēram, metode atgriež atsauces tipu.
Class B extends A {A method(int x) {//original method}B method(int x) {//overridden method}}
Q99. Kāda ir visu izņēmumu klašu bāzes klase?
Ans: Java valodā Java.lang.Trowable ir visu izņēmumu klašu superklases, un visas izņēmumu klases ir atvasinātas no šīs bāzes klases.
Q100. Kāda ir būvnieku izsaukšanas kārtība mantojumā?
Ans: Mantojuma gadījumā, kad tiek izveidots jauns atvasinātas klases objekts, vispirms tiek izsaukts superklases konstruktors un pēc tam - atvasinātās klases konstruktors.
Sagatavojieties savai darba intervijai !!! Lai labāk sagatavotos, apmeklējiet Java apmācību.
Šis detalizētais Java intervijas jautājumu pdf palīdzēs jums novērst šaubas par Java intervijas jautājumiem, kā arī palīdzēs jums pārtraukt interviju.