JavaRush /Blog Jawa /Random-JV /15 Pitakonan Wawancara Pangembang Babagan Enum ing Jawa (...
Treefeed
tingkat

15 Pitakonan Wawancara Pangembang Babagan Enum ing Jawa (karo Jawaban!)

Diterbitake ing grup
Enumerasi ( Enum ) dikenalaké ing Java 5 lan wiwit iku wis dadi cukup populer ing antarane pangembang Jawa. Iki digunakake akeh ing macem-macem aplikasi Java. Amarga Enum ing Jawa luwih serbaguna tinimbang ing C utawa C ++, uga nyedhiyakake akeh kasus panggunaan sing menarik, sawetara sing sampeyan deleng ing artikel 10 Cara Nggunakake Enum ing Jawa . Nanging senadyan popularitas iki, akeh programer Jawa isih ora ngerti babagan fungsi sing diwenehake dening Enum lan seluk-beluk nggunakake Enum ing kode Jawa. Iki dadi jelas saka sawetara pembaca sing takon, contone, babagan kemampuan Enum kanggo ngleksanakake antarmuka ing Jawa utawa Napa kita ora bisa instantiate Enums ing njaba Enum , amarga dheweke takon babagan iki ing wawancara. Iki menehi inspirasi kanggo ngumpulake dhaptar pitakonan sing kerep ditakoni ing Java Enum sing ora mung mbantu sampeyan sukses ing wawancara, nanging uga mbukak dalan anyar kanggo sinau. Kaya sing wis kasebut sadurunge, asring pitakonan wawancara meksa sampeyan njupuk topik kasebut kanthi luwih serius, sing dudu bab sing ala, lan diwenehi kekuwatan lan migunani Enum, wektune sampeyan dadi master enum. Ing ngisor iki dhaptar pitakonan adhedhasar macem-macem fungsi lan sifat Enum. Sampeyan bisa nggunakake minangka bahan persiapan kanggo wawancara utawa mung pandhuan enumerasi. Yen sampeyan anyar ing Jawa, sampeyan bakal sinau akeh bab anyar lan migunani babagan Enum. 1) Apa Enum bisa ngetrapake antarmuka ing Jawa? Ya, Enum bisa warisan antarmuka . Amarga jinis Enum padha karo kelas lan antarmuka , bisa oleh warisan antarmuka. Iki menehi keluwesan apik tenan ing nggunakake Enum minangka implementasine adat ing sawetara kasus. Iki minangka conto sing apik babagan nggunakake Enum ing kapasitas iki. 2) Apa Enum bisa warisan (ngluwihi) kelas? Ora, dheweke ora bisa! Ora dikarepke, amarga sadurunge wis ngandika sing jinis Enum padha karo kelas utawa antarmuka ing Jawa. Ya, iki minangka alesan utama kenapa pitakonan iki ditakoni sawise sing sadurunge. Wiwit Enum wis warisan saka kelas abstrak java.lang.Enum , iku cetha yen kelas liyane ora bakal bisa kanggo warisan wiwit Jawa ora ndhukung sawetara warisan kelas. Kanthi warisan saka java.lang.Enum , kabeh enum duwe metode ordinal () , nilai (), utawa valueOf () . 3) Kepiye carane nggawe Enum tanpa conto obyek? Apa iki bisa tanpa kesalahan kompilasi? Iki minangka salah sawijining pitakonan rumit sing disenengi para pewawancara. Wiwit Enum katon minangka kumpulan obyek tartamtu, kayata dina minggu utawa sasi ing taun, entuk Enum tanpa ana sing curiga. Nanging ya, sampeyan bisa nggawe Enum tanpa instance , umpamane kanthi nggawe kelas sarana. Iki cara inovatif liyane kanggo nggunakake Enum: public enum MessageUtil{ ; // required to avoid compiler error, also signifies no instance public static boolean isValid() { throw new UnsupportedOperationException("Not supported yet."); } } 4) Apa kita bisa ngalahake toString () cara kanggo Enum? Apa sing kedadeyan yen kita ora nemtokake maneh? Mesthi sampeyan bisa ngatasi cara toString () Enum , amarga sampeyan bisa ngatasi kelas apa wae sing duwe java.lang.Object lan duwe metode toString () kasedhiya, lan sanajan sampeyan ora nindakake, sampeyan ora bakal kelangan apa-apa amarga abstrak. basis saka kelas Enum bakal nindakake iki kanggo sampeyan, lan bakal bali jeneng, kang jeneng saka conto Enum. Punika kode kanggo toString () cara saka kelas Enum: public String toString() { return name; } jeneng kasebut nalika compiler allocates kode kanggo nggawe enum minangka respon kanggo nggawe conto ing kelas Enum dhewe, uga nggawe ordinal ing konstruktor saka java.lang.Enum kelas : protected Enum(String name, int ordinal) { this.name = name; this.ordinal = ordinal; } Iki mung konstruktor kanggo nggawe enum , kang diarani compiler kanggo nanggepi wara-wara Enum ing program. 5) Apa kita bisa instantiate Enum ing njaba Enum? Ngapa ora? Sampeyan ora bisa instantiate Enum ing njaba wates Enum amarga Enum ora duwe umum.konstruktor, lan kompiler ora ngidini sampeyan ngenalake konstruktor kasebut. Amarga kompiler ngasilake paling kode kanggo nanggepi deklarasi jinis Enum, ora ngidini konstruktor umum ing Enums, meksa kedadeyan Enum diumumake sacara internal. 6) Apa kita bisa nemtokake konstruktor ing Enum? Pitakonan iki asring ngetutake sing sadurunge. Ya, sampeyan bisa, nanging elinga yen iki mung bisa ditindakake kanthi konstruktor pribadi utawa paket-pribadi . Konstruktor karo umum lan dilindhungi ora diijini ing Enum. Kene sampeyan bisa ndeleng conto . 7) Apa prabédan antarane mbandhingaké Enum nggunakake == utawa padha () cara? Iki minangka masalah sing wiyar lan angel banget sing dibahas kanthi rinci ing kene . 8) Apa cara ordinal () ing Enum? Cara ordinal () ngasilake urutan ing enum sing ditetepake ing Enum. Contone, ing DayOfWeek Enum, sampeyan bisa nemtokake dina ing urutan: public enum DayOfWeek{ MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; } lan yen kita nelpon DayOfWeek.MONDAY.ordinal () cara , bakal bali 0 - kang tegese Kayata pisanan. Cara iki migunani banget kanggo nyedhiyakake tatanan miturut kahanan sing nyata: yaiku, nuduhake yen SELASA (Selasa) teka sawise SENEN (Senin), lan sadurunge Rebo (Rebo). Kajaba iku, sampeyan bisa nggunakake enumerasi kanggo makili sasi ing taun, nalika Februari sawise Januari nanging sadurunge Maret. Kabeh enumerations adat olèh warisan cara iki saka kelas abstrak java.lang.Enum , lan padha disetel dening compiler dening nelpon konstruktor dilindhungi ing java.lang.Enum , kang njupuk jeneng lan ordinal. 9) Apa bisa nggunakake Enum karo TreeSet utawa TreeMap ing Jawa? Iki minangka pitakonan Enum sing menarik banget, lan sing disenengi wong kanggo nyoba kedalaman kawruh. Nganti sampeyan ndeleng kode java.lang.Enum , sampeyan mbokmenawa ora bakal ngerti yen Enum nduweni antarmuka Comparable , sing minangka syarat utama kanggo nggunakake koleksi kaya TreeSet lan TreeMap . Wiwit Enum marisi antarmuka Comparable minangka standar , bisa digunakake karo TreeSet lan TreeMap . 10) Apa prabédan antarane ordinal () lan compareTo () ing Enum? Iki nderek langsung saka pitakonan sadurungé: nyatane, compareTo () simulates urutan diwenehake dening cara ordinal () , kang urutan alam saka Enum. Ing cendhak, Enum matesi bandingaken ing urutan kang padha ngumumaké. Sampeyan uga kudu eling yen konstanta iki mung bisa dibandhingake karo konstanta liyane saka jinis sing padha - mbandhingake macem-macem jinis konstanta bisa nyebabake kesalahan compiler. 11) Apa bisa nggunakake Enum ing kasus ngalih? Ya, sampeyan bisa. Kajaba iku, iki minangka salah sawijining mupangat utama nggunakake Enum. Wiwit kedadean Enum dikompilasi menyang konstanta sauntara, sampeyan bisa nyuntikake kanthi aman ing kasus lan ngalih . Punika conto kode karo dina minggu: public void developerState(DayOfWeek today){ switch(today){ case MONDAY: System.out.println("Hmmmmmmmm"); break; case TUESDAY: System.out.println("Hmmmm"); break; case FRIDAY : System.out.println("Yeahhhhhh"); break; } } Enum lan Ngalih nglengkapi saben liyane uga, utamané yen Enum ngemot nomer cilik saka konstanta stabil, contone, pitung dina minggu, 12 sasi taun, etc. conto liyane nggunakake kasus swith karo Enum . 12) Kepiye cara ngulang kabeh conto Enum? Yen sampeyan wis mbukak java.lang.Enum , sampeyan ngerti yen metode nilai () ngasilake array kabeh konstanta Enum. Wiwit saben enum warisan java.lang.Enum , padha duwe nilai () cara . Nggunakake, sampeyan bisa ngulang kabeh konstanta enumerasi saka jinis tartamtu. Deleng conto sing bakal ditindakake kanthi loop foreach lan metode nilai () . 13) Apa pro lan kontra nggunakake Enum minangka singleton? Enum menehi trabasan cepet kanggo ngleksanakake pola singleton, lan wiwit iku malah dijamin ing buku Jawa Efektif, iku pilihan populer. Sepisanan, Enum singleton janjeni lan cukup trep, kayata kontrol instantiation, aman serializable, lan ndhuwur kabeh, iku gampang kanggo nggawe thread-aman singleton nggunakake Enum. Sampeyan ora perlu kuwatir maneh babagan mriksa volatilitas variabel. Waca liyane babagan Pros lan cons saka nggunakake pendekatan iki kene . 14) Apa gunane nggunakake Enum tinimbang enumerasi int lan pola enumerasi String? Yen sampeyan wis nggawe program luwih saka 5 taun lan isih ana ing JDK 1.3 utawa 1.4, sampeyan bakal ngerti pola enumerasi String lan int , sing nggunakake prefiks konstan final statis umum kanggo makili koleksi tetep kondhang. nomer bab, kaya dina Minggu . Ana akeh masalah kene: sampeyan ora duwe kamardikan saka jinis Enum, wiwit variabel String tanggung jawab kanggo dina minggu bisa njupuk sembarang Nilai kasepakatan. Kajaba iku, int sing bisa enumerable bisa njupuk sembarang nilai, lan compiler bakal seneng ngulu. Lan nggunakake Enum , sampeyan entuk jinis safety sing dipriksa kompiler kanggo sampeyan. Ana sawetara pikiran sing menarik babagan topik iki ing Jawa Efektif, sing dianjurake kanggo maca kanggo kabeh pangembang Jawa. 15) Kepiye carane ngowahi String dadi Enum? Iki minangka pitakonan saben dina sing muncul amarga popularitas nggunakake String lan Enum ing pangembangan aplikasi Java. Cara paling apik kanggo ngowahi Enum menyang String yaiku kanggo nemtokake cara pabrik ing Enum dhewe sing bakal njupuk argumen String lan bali minangka Enum . Sampeyan bisa uga pengin nglirwakake kasus. Ing ngisor iki sawetara conto ngowahi string dadi enumerasi. Iki ndadekke kita menyang mburi dhaptar 15 pitakonan ( lan jawaban ) babagan Enum. Nanging elinga: maca ora cukup kanggo sinau, iku mung langkah pisanan . Kanggo entuk manfaat saka enums, coba goleki ngendi sampeyan bisa nggunakake Enum ing proyek sampeyan - iki bakal menehi pengalaman nyata, lan kanthi pengalaman iki sampeyan bakal sinau luwih akeh tinimbang conto, amarga sampeyan bakal nemoni masalah liyane sing bisa ditangani kanthi luwih akeh. cara rumit lan rinci syarat. Pitakonan babagan Enum iki kudu digatekake kanggo nyoba kawruh sampeyan, utamane yen sampeyan kesusu kanggo wawancara lan ora ana wektu kanggo nyemplungake kanthi rinci ing alam semesta Enum.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION