100 + Java Pertanyaan dan Jawaban Wawancara (2025)
Java Pemrograman Pertanyaan dan Jawaban Wawancara untuk mahasiswa baru
1) Apa perbedaan antara Kelas Dalam dan Subkelas?
Kelas dalam adalah kelas yang bersarang di dalam kelas lain. Kelas dalam memiliki hak akses untuk kelas yang menyusunnya dan dapat mengakses semua variabel dan metode yang ditentukan di kelas luar.
Sub-kelas adalah kelas yang mewarisi kelas lain yang disebut kelas super. Subkelas dapat mengakses semua metode dan bidang publik dan terlindungi dari kelas supernya.
๐ Unduhan PDF Gratis: Java Wawancara Pertanyaan & Jawaban Wawancara >>
2) Untuk apa berbagai penentu akses Java kelas?
In Java, penentu akses adalah kata kunci yang digunakan sebelum nama kelas yang menentukan cakupan akses. Jenis penentu akses untuk kelas adalah:
1) Publik: Kelas, Metode, Bidang dapat diakses dari mana saja.
2) Dilindungi: Metode,Field dapat diakses dari kelas yang sama atau dari subkelas, dan dari kelas paket yang sama, tetapi tidak dari luar.
3) Bawaan: Method,Field,class hanya dapat diakses dari paket yang sama dan bukan dari luar paket aslinya.
4) Pribadi: Metode,Field dapat diakses dari kelas yang sama dimana mereka berada.
3) Apa tujuan metode Statis dan variabel statis?
Ketika ada persyaratan untuk berbagi metode atau variabel antara beberapa objek kelas alih-alih membuat salinan terpisah untuk setiap objek, kami menggunakan kata kunci statis untuk membuat metode atau variabel dibagikan ke semua objek.
4) Apa itu enkapsulasi data dan apa maknanya?
Enkapsulasi adalah sebuah konsep dalam Pemrograman Berorientasi Objek untuk menggabungkan properti dan metode dalam satu kesatuan.
Enkapsulasi membantu pemrogram untuk mengikuti pendekatan modular untuk pengembangan perangkat lunak karena setiap objek memiliki serangkaian metode dan variabelnya sendiri dan menjalankan fungsinya secara independen dari objek lain. Enkapsulasi juga melayani tujuan penyembunyian data.
5) Apa yang dimaksud dengan kelas tunggal? Berikan contoh praktis penggunaannya.
Kelas tunggal di java hanya dapat memiliki satu instance dan karenanya semua metode dan variabelnya hanya dimiliki oleh satu instance. Konsep kelas tunggal berguna ketika ada kebutuhan untuk membatasi jumlah objek dalam suatu kelas.
Contoh terbaik dari skenario penggunaan tunggal adalah ketika ada batasan hanya memiliki satu koneksi ke database karena beberapa keterbatasan driver atau karena masalah perizinan.
6) Apa yang dimaksud dengan Loop Java? Apa tiga jenis loop?
Perulangan digunakan dalam pemrograman untuk mengeksekusi pernyataan atau blok pernyataan berulang kali. Ada tiga jenis loop di Java:
1) Untuk Loop
Perulangan for digunakan di java untuk mengeksekusi pernyataan berulang kali selama beberapa kali tertentu. Perulangan For digunakan ketika berapa kali untuk mengeksekusi pernyataan diketahui oleh pemrogram.
2) Sementara Loop
Perulangan while digunakan ketika pernyataan tertentu perlu dieksekusi berulang kali hingga suatu kondisi terpenuhi. Dalam perulangan while, kondisi diperiksa terlebih dahulu sebelum eksekusi pernyataan.
3) Lakukan Perulangan Sementara
Perulangan Do While sama dengan perulangan While dengan perbedaan hanya kondisinya diperiksa setelah eksekusi blok pernyataan. Oleh karena itu dalam kasus perulangan do while, pernyataan dieksekusi setidaknya sekali.
7) Apa yang dimaksud dengan Loop tak terbatas? Bagaimana loop tak terbatas dideklarasikan?
Perulangan tak terbatas berjalan tanpa syarat apa pun dan berjalan tanpa batas. Perulangan tak terbatas dapat diputus dengan mendefinisikan logika pemutusan apa pun di badan blok pernyataan.
Loop tak terbatas dideklarasikan sebagai berikut:
for (;;) { // Statements to execute // Add any loop breaking logic }
8) Apa perbedaan antara pernyataan continue dan break?
break dan continue adalah dua kata kunci penting yang digunakan dalam Loops. Ketika kata kunci break digunakan dalam satu perulangan, perulangan akan langsung terputus, sedangkan jika kata kunci continue digunakan, perulangan saat ini diputus dan perulangan dilanjutkan dengan perulangan berikutnya.
Dalam contoh di bawah ini, Loop terputus ketika penghitung mencapai 4.
for (counter = 0; counter & lt; 10; counter++) system.out.println(counter); if (counter == 4) { break; } }
Dalam contoh di bawah ini ketika penghitung mencapai 4, loop melompat ke iterasi berikutnya dan pernyataan apa pun setelah kata kunci continue dilewati untuk iterasi saat ini.
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) Apa perbedaan antara variabel double dan float di Java?
Di java, float membutuhkan 4 byte di memori sementara Double membutuhkan 8 byte dalam memori. Float adalah bilangan desimal floating point presisi tunggal sementara Double adalah angka desimal presisi ganda.
10) Apa yang dimaksud dengan Kata Kunci Akhir di Java? Berikan sebuah contoh.
Di java, sebuah konstanta dideklarasikan menggunakan kata kunci Final. Nilai hanya dapat diberikan satu kali dan setelah penugasan, nilai konstanta tidak dapat diubah.
Dalam contoh di bawah ini, sebuah konstanta dengan nama const_val dideklarasikan dan diberi nilai:
Pribadi Final int const_val=100
Ketika suatu metode dideklarasikan sebagai final, metode tersebut TIDAK dapat ditimpa oleh subkelasnya. Metode ini lebih cepat dibandingkan metode lainnya, karena diselesaikan pada waktu yang sesuai.
Jika suatu kelas dideklarasikan sebagai final, kelas tersebut tidak dapat dijadikan subkelas. Contoh String, Integer, dan kelas pembungkus lainnya.
11) Apa itu operator terner? Berikan contoh.
Operator ternary, juga disebut operator kondisional, digunakan untuk memutuskan nilai mana yang akan ditetapkan ke variabel berdasarkan evaluasi nilai Boolean. Ini dilambangkan sebagai ?
Dalam contoh di bawah ini, jika peringkatnya 1, status diberi nilai โSelesaiโ atau โTertundaโ.
public class conditionTest { public static void main(String args[]) { String status; int rank = 3; status = (rank == 1) ? "Done" : "Pending"; System.out.println(status); } }
12) Bagaimana Anda bisa menghasilkan angka acak di Java?
- Menggunakan Math.random() Anda dapat menghasilkan angka acak dalam rentang yang lebih besar dari atau sama dengan 0.1 dan kurang dari 1.0
- Menggunakan kelas Acak dalam paket java.util
13) Apa yang dimaksud dengan kotak saklar default? Berikan contoh.
Di sebuah beralih pernyataan, kasus default dijalankan ketika tidak ada kondisi sakelar lain yang cocok. Kasus default adalah kasus opsional. Kasus ini hanya dapat dideklarasikan setelah semua kasus saklar lainnya telah diberi kode.
Dalam contoh di bawah ini, ketika skor bukan 1 atau 2, huruf default digunakan.
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) Di kelas dasar apa Java dari mana semua kelas diturunkan?
java.lang.object
15) Bisakah metode main() masuk Java dapat mengembalikan data apa pun?
Di java, metode main() tidak dapat mengembalikan data apa pun dan karenanya, selalu dideklarasikan dengan tipe pengembalian void.
16) Apa itu Java Paket? Apa pentingnya paket?
In Java, paket adalah kumpulan kelas dan antarmuka yang digabungkan menjadi satu karena saling terkait satu sama lain. Penggunaan paket membantu pengembang untuk memodulasi kode dan mengelompokkan kode agar dapat digunakan kembali dengan benar. Setelah kode dikemas dalam Paket, kode tersebut dapat diimpor ke kelas lain dan digunakan.
17) Bisakah kita mendeklarasikan kelas sebagai Abstrak tanpa metode abstrak apa pun?
Ya, kita dapat membuat kelas abstrak dengan menggunakan kata kunci abstrak sebelum nama kelas meskipun kelas tersebut tidak memiliki metode abstrak. Akan tetapi, jika suatu kelas memiliki satu metode abstrak saja, kelas tersebut harus dideklarasikan sebagai abstrak, jika tidak, kelas tersebut akan menampilkan kesalahan.
18) Apa perbedaan antara Kelas Abstrak dan Antarmuka di Java?
Perbedaan utama antara kelas abstrak dan antarmuka adalah bahwa antarmuka hanya dapat memiliki deklarasi metode statis publik tanpa implementasi konkrit sedangkan kelas abstrak dapat memiliki anggota dengan penentu akses apa pun (publik, privat, dll) dengan atau tanpa implementasi konkrit.
Perbedaan utama lainnya dalam penggunaan kelas abstrak dan antarmuka adalah bahwa kelas yang mengimplementasikan antarmuka harus mengimplementasikan semua metode antarmuka, sedangkan kelas yang mewarisi dari kelas abstrak tidak memerlukan implementasi semua metode kelas supernya.
Sebuah kelas dapat mengimplementasikan banyak antarmuka tetapi hanya dapat memperluas satu kelas abstrak.
19) Apa implikasi kinerja Antarmuka terhadap kelas abstrak?
Antarmuka memiliki kinerja yang lebih lambat dibandingkan dengan kelas abstrak karena diperlukan tipuan tambahan untuk antarmuka. Faktor kunci lain yang perlu dipertimbangkan oleh pengembang adalah bahwa setiap kelas hanya dapat memperluas satu kelas abstrak sementara satu kelas dapat mengimplementasikan banyak antarmuka.
Penggunaan antarmuka juga memberikan beban tambahan pada pengembang karena setiap kali antarmuka diimplementasikan di kelas; pengembang dipaksa untuk mengimplementasikan setiap metode antarmuka.
20) Apakah Mengimpor suatu paket juga mengimpor sub-paketnya Java?
Di java, ketika sebuah paket diimpor, sub-paketnya tidak diimpor dan pengembang perlu mengimpornya secara terpisah jika diperlukan.
Misalnya, jika pengembang mengimpor paket universitas.*, semua kelas dalam paket bernama universitas akan dimuat tetapi tidak ada kelas dari subpaket yang dimuat. Untuk memuat kelas dari sub-paketnya (misalnya departemen), pengembang harus mengimpornya secara eksplisit sebagai berikut:
Impor universitas.departemen.*
21) Bisakah kita mendeklarasikan metode utama kelas kita sebagai metode pribadi?
Di java, metode utama harus bersifat statis publik agar dapat menjalankan aplikasi apa pun dengan benar. Jika metode utama dinyatakan sebagai pribadi, pengembang tidak akan mendapatkan kesalahan kompilasi apa pun, namun tidak akan dieksekusi dan akan memberikan kesalahan runtime.
22) Bagaimana kita bisa meneruskan argumen ke suatu fungsi dengan referensi alih-alih meneruskan nilai?
Di java, kita bisa meneruskan argumen ke suatu fungsi hanya berdasarkan nilai dan bukan dengan referensi.
23) Bagaimana suatu objek diserialkan di java?
Di java, untuk mengubah suatu objek menjadi aliran byte melalui serialisasi, sebuah antarmuka dengan nama Serializable diimplementasikan oleh kelas. Semua objek dari kelas yang mengimplementasikan antarmuka serial menjadi serial dan statusnya disimpan dalam aliran byte.
24) Kapan kita harus menggunakan serialisasi?
Serialisasi digunakan ketika data perlu dikirim melalui jaringan. Menggunakan serialisasi, keadaan objek disimpan dan diubah menjadi aliran byte. Aliran byte ditransfer melalui jaringan dan objek dibuat ulang di tujuan.
25) Apakah Blok Coba wajib diikuti dengan Blok Tangkap Java untuk penanganan Pengecualian?
Blok percobaan harus diikuti oleh blok Catch atau blok Akhirnya atau keduanya. Pengecualian apa pun yang dilempar dari blok try harus ditangkap di blok catch atau tugas khusus apa pun yang harus dilakukan sebelum aborsi kode dimasukkan ke dalam blok Akhirnya.
Java Pertanyaan Wawancara dan Jawaban bagi yang Berpengalaman
26) Apakah ada cara untuk melewati blok pengecualian Akhirnya meskipun beberapa pengecualian terjadi di blok pengecualian?
Jika pengecualian dimunculkan di blok Try, kontrol diteruskan ke blok catch jika ada, jika tidak ke blok finally. Blok finally selalu dieksekusi saat pengecualian terjadi dan satu-satunya cara untuk menghindari eksekusi pernyataan apa pun di blok Finally adalah dengan membatalkan kode secara paksa dengan menulis baris kode berikut di akhir blok try:
System.exit(0);
27) Kapan konstruktor suatu kelas dipanggil?
Konstruktor suatu kelas dipanggil setiap kali suatu objek dibuat dengan kata kunci baru.
Misalnya, dalam kelas berikut dua objek dibuat menggunakan kata kunci new dan karenanya, konstruktor dipanggil dua kali.
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) Bisakah suatu kelas memiliki banyak konstruktor?
Ya, suatu kelas dapat memiliki banyak konstruktor dengan parameter berbeda. Konstruktor mana yang digunakan untuk pembuatan objek bergantung pada argumen yang diberikan saat membuat objek.
29) Bisakah kita mengganti metode statis suatu kelas?
Kita tidak bisa mengesampingkan metode statis. Metode statis milik kelas dan bukan milik objek individual dan diselesaikan pada saat kompilasi (bukan saat runtime). Bahkan jika kita mencoba mengganti metode statis, kita tidak akan mendapatkan kesalahan kompilasi, atau dampak penggantian saat menjalankan kode.
30) Pada contoh di bawah ini, apa outputnya?
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: Outputnya adalah:
Ditampilkan dari subKelas
Mencetak dari superclass
31) Apakah String merupakan tipe data di java?
String bukanlah tipe data primitif di Java. Ketika sebuah string dibuat di Java, sebenarnya string adalah sebuah objek JavaKelas .Lang.String yang dibuat. Setelah pembuatan objek string ini, semua metode bawaan kelas String dapat digunakan pada objek string.
32) Pada contoh di bawah ini, berapa banyak Objek String yang dibuat?
String s1="I am Java Expert"; String s2="I am C Expert"; String s3="I am Java Expert";
Dalam contoh di atas, dua objek JavaKelas .Lang.String dibuat. s1 dan s3 adalah referensi ke objek yang sama.
33) Mengapa String masuk Java disebut sebagai Abadi?
Di java, objek string disebut tidak dapat diubah karena setelah nilai ditetapkan ke string, nilai tersebut tidak dapat diubah dan jika diubah, objek baru akan dibuat.
Dalam contoh di bawah ini, referensi str mengacu pada objek string yang memiliki nilai โNilai satuโ.
String str="Value One";
Ketika nilai baru diberikan padanya, objek String baru akan dibuat dan referensi dipindahkan ke objek baru.
str="New Value";
34) Apa perbedaan antara array dan Vektor?
Array mengelompokkan data dengan tipe primitif yang sama dan bersifat statis, sedangkan vektor bersifat dinamis dan dapat menampung data dengan tipe data berbeda.
35) Apa itu multithreading?
Multi threading adalah konsep pemrograman untuk menjalankan banyak tugas secara bersamaan dalam satu program. Utas berbagi tumpukan proses yang sama dan berjalan secara paralel. Ini membantu dalam peningkatan kinerja program apa pun.
36) Mengapa Antarmuka Runnable digunakan di Java?
Antarmuka yang dapat dijalankan digunakan dalam Java untuk mengimplementasikan aplikasi multithread. JavaAntarmuka .Lang.Runnable diimplementasikan oleh kelas untuk mendukung multi threading.
37) Apa dua cara mengimplementasikan multi-threading di Java?
Aplikasi multi-thread dapat dikembangkan di Java dengan menggunakan salah satu dari dua metodologi berikut:
1) Dengan menggunakan Java.Lang.Antarmuka yang Dapat Dijalankan. Kelas mengimplementasikan antarmuka ini untuk mengaktifkan multi threading. Ada metode Run() di antarmuka ini yang diimplementasikan.
2) Dengan menulis kelas yang diperluas Java.Lang.Kelas benang.
38) Jika diperlukan banyak perubahan pada data, manakah yang sebaiknya digunakan? Tali atau TaliBuffer?
Sejak StringBuffers bersifat dinamis dan kita dapat mengubah nilai StringBuffer objek tidak seperti String yang tidak dapat diubah, selalu merupakan pilihan yang baik untuk menggunakan StringBuffer ketika data diubah terlalu banyak. Jika kita menggunakan String dalam kasus seperti itu, untuk setiap perubahan data, objek String baru akan dibuat yang akan menjadi overhead tambahan.
39) Apa tujuan penggunaan Break dalam setiap kasus Pernyataan Switch?
Break digunakan setelah setiap kasus (kecuali yang terakhir) dalam sebuah saklar sehingga kode rusak setelah kasus yang valid dan tidak mengalir dalam kasus selanjutnya juga.
Jika break tidak digunakan setelah setiap kasus, semua kasus setelah kasus yang valid juga akan dieksekusi sehingga menghasilkan hasil yang salah.
40) Bagaimana pengumpulan sampah dilakukan Java?
Di java, ketika suatu objek tidak direferensikan lagi, pengumpulan sampah terjadi dan objek dihancurkan secara otomatis. Untuk pengumpulan sampah otomatis, Java memanggil metode System.gc() atau metode Runtime.gc().
41) Bagaimana kita bisa mengeksekusi kode apa pun bahkan sebelum metode utama?
Jika kita ingin mengeksekusi pernyataan apa pun bahkan sebelum pembuatan objek pada waktu pemuatan kelas, kita dapat menggunakan blok kode statis di kelas tersebut. Pernyataan apa pun di dalam blok kode statis ini akan dieksekusi satu kali pada saat memuat kelas bahkan sebelum pembuatan objek dalam metode utama.
42) Bisakah suatu kelas menjadi kelas super dan subkelas secara bersamaan? Berikan contoh.
Jika ada hierarki pewarisan yang digunakan, suatu kelas dapat menjadi kelas super untuk kelas lain dan sekaligus menjadi subkelas untuk kelas lain.
Pada contoh di bawah, kelas benua adalah subkelas dari kelas dunia dan merupakan kelas super dari kelas negara.
public class world { .......... } public class continenet extends world { ............ } public class country extends continent { ...................... }
43) Bagaimana objek suatu kelas dibuat jika tidak ada konstruktor yang didefinisikan di kelas tersebut?
Bahkan jika tidak ada konstruktor eksplisit yang didefinisikan dalam kelas java, objek berhasil dibuat karena konstruktor default secara implisit digunakan untuk pembuatan objek. Konstruktor ini tidak memiliki parameter.
44) Dalam multi-threading, bagaimana kita dapat memastikan bahwa suatu sumber daya tidak digunakan oleh beberapa thread secara bersamaan?
Dalam multi-threading, akses ke sumber daya yang dibagi di antara beberapa thread dapat dikontrol dengan menggunakan konsep sinkronisasi. kata kunci sinkronisasi, kami dapat memastikan bahwa hanya satu thread yang dapat menggunakan sumber daya bersama pada satu waktu dan thread lain dapat mengontrol sumber daya hanya setelah thread tersebut bebas dari thread lain yang menggunakannya.
45) Bisakah kita memanggil konstruktor suatu kelas lebih dari satu kali untuk suatu objek?
Konstruktor dipanggil secara otomatis ketika kita membuat objek menggunakan kata kunci baru. Ini dipanggil hanya sekali untuk sebuah objek pada saat pembuatan objek dan karenanya, kita tidak dapat memanggil konstruktor lagi untuk sebuah objek setelah pembuatannya.
46) Ada dua kelas bernama kelasA dan kelasB. Kedua kelas berada dalam paket yang sama. Bisakah anggota pribadi kelasA dapat diakses oleh objek kelasB?
Anggota pribadi suatu kelas tidak dapat diakses di luar cakupan kelas tersebut dan kelas lain mana pun bahkan dalam paket yang sama tidak dapat mengaksesnya.
47) Bisakah kita memiliki dua metode dalam satu kelas dengan nama yang sama?
Kita dapat mendefinisikan dua metode dalam satu kelas dengan nama yang sama tetapi dengan jumlah/jenis parameter yang berbeda. Metode mana yang dipanggil akan bergantung pada parameter yang diteruskan.
Misalnya pada kelas di bawah ini kita memiliki dua metode pencetakan dengan nama yang sama tetapi parameternya berbeda. Tergantung pada parameternya, parameter yang sesuai akan dipanggil:
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) Bagaimana cara membuat salinan objek Java?
Kita bisa menggunakan konsep kloning untuk membuat salinan suatu objek. Menggunakan clone, kita membuat salinan dengan keadaan sebenarnya dari suatu objek.
Clone() adalah metode antarmuka Cloneable dan karenanya, antarmuka Cloneable perlu diimplementasikan untuk membuat salinan objek.
49) Apa keuntungan menggunakan warisan?
Manfaat utama menggunakan warisan adalah penggunaan kembali kode karena warisan memungkinkan sub-kelas untuk menggunakan kembali kode kelas supernya. Polimorfisme (Ekstensibilitas) adalah manfaat besar lainnya yang memungkinkan fungsionalitas baru diperkenalkan tanpa mempengaruhi kelas turunan yang sudah ada.
50) Apa penentu akses default untuk variabel dan metode suatu kelas?
Penentu akses default untuk variabel dan metode dilindungi paket, yaitu variabel dan kelas tersedia untuk kelas lain mana pun tetapi dalam paket yang sama, bukan di luar paket.
51) Berikan contoh penggunaan Pointer pada Java kelas.
Tidak ada petunjuk di dalamnya Java. Jadi kita tidak bisa menggunakan konsep pointer di dalamnya Java.
52) Bagaimana kita membatasi pewarisan suatu kelas sehingga tidak ada kelas yang dapat diwarisi darinya?
Jika kita ingin suatu kelas tidak diperluas lebih jauh oleh kelas mana pun, kita dapat menggunakan kata kunci Terakhir dengan nama kelasnya.
Dalam contoh berikut, kelas Stone adalah Final dan tidak dapat diperluas
public Final Class Stone { // Class methods and Variables }
53) Apa cakupan akses penentu Akses Terlindungi?
Ketika suatu metode atau variabel dideklarasikan dengan Penentu akses yang dilindungi, maka metode atau variabel tersebut dapat diakses di kelas yang sama, kelas lain dari paket yang sama, serta subkelas.
Mengubah | Kelas | Paket | Subkelas | Dunia |
---|---|---|---|---|
publik | Y | Y | Y | Y |
terlindung | Y | Y | Y | N |
tidak ada pengubah | Y | Y | N | N |
swasta | Y | N | N | N |
54) Apa perbedaan antara Stack dan Antrian?
Stack dan Queue keduanya digunakan sebagai pengganti pengumpulan data. Perbedaan utama antara tumpukan dan antrian adalah bahwa tumpukan didasarkan pada prinsip Last in First out (LIFO) sedangkan antrian didasarkan pada prinsip FIFO (First In First Out).
55) Di java, bagaimana kita bisa melarang serialisasi variabel?
Jika kita ingin variabel tertentu suatu kelas tidak diserialkan, kita dapat menggunakan kata kunci sementara sambil mendeklarasikannya. Misalnya, variabel trans_var di bawah ini adalah variabel sementara dan tidak dapat diserialkan:
public class transientExample { private transient trans_var; // rest of the code }
56) Bagaimana kita bisa menggunakan tipe data primitif sebagai objek?
Tipe data primitif seperti int dapat ditangani sebagai objek dengan menggunakan kelas pembungkusnya masing-masing. Misalnya, Integer adalah kelas pembungkus untuk tipe data primitif int. Kita bisa menerapkan metode berbeda pada kelas wrapper, sama seperti objek lainnya.
57) Jenis pengecualian apa yang ditangkap pada waktu kompilasi?
Pengecualian yang dicentang dapat ditangkap pada saat kompilasi program. Pengecualian yang dicentang harus ditangani dengan menggunakan blok try catch dalam kode agar berhasil mengkompilasi kode.
58) Jelaskan keadaan thread yang berbeda.
Sebuah benang masuk Java dapat berada dalam salah satu dari status berikut:
- Siap: Saat thread dibuat, thread berada dalam status Siap.
- Berjalan: Thread yang sedang dieksekusi berada dalam status berjalan.
- Menunggu: Sebuah thread yang menunggu thread lain untuk mengosongkan sumber daya tertentu berada dalam status menunggu.
- Mati: Thread yang mati setelah eksekusi berada dalam kondisi mati.
59) Bisakah kita menggunakan konstruktor default suatu kelas meskipun konstruktor eksplisit telah ditentukan?
Java memberikan konstruktor tanpa argumen default jika tidak ada konstruktor eksplisit yang didefinisikan dalam a Java kelas. Namun jika konstruktor eksplisit telah ditentukan, konstruktor default tidak dapat dipanggil dan pengembang hanya dapat menggunakan konstruktor yang ditentukan di kelas.
60) Bisakah kita mengganti suatu metode dengan menggunakan nama metode dan argumen yang sama tetapi tipe kembaliannya berbeda?
Syarat dasar penggantian metode adalah nama metode, argumen, dan tipe kembalian harus sama persis dengan nama metode yang diganti. Oleh karena itu, menggunakan tipe pengembalian yang berbeda tidak menggantikan metode.
61) Apa yang akan menjadi output dari potongan kode berikut?
public class operatorExample { public static void main(String args[]) { int x = 4; system.out.println(x++); } }
Dalam hal ini operator postfix ++ digunakan yang pertama-tama mengembalikan nilai dan kemudian menambahnya. Oleh karena itu outputnya akan menjadi 4.
61) Seseorang mengatakan bahwa dia berhasil mengkompilasi kelas Java tanpa memiliki metode utama di dalamnya? Apa itu mungkin?
metode utama adalah titik masuk Java kelas dan diperlukan untuk pelaksanaan program; sebuah kelas berhasil dikompilasi meskipun tidak memiliki metode utama. Tapi itu tidak bisa dijalankan.
62) Bisakah kita memanggil metode non-statis dari dalam metode statis?
Metode non-Statis dimiliki oleh objek suatu kelas dan memiliki cakupan tingkat objek dan untuk memanggil metode non-Statis dari blok statis (seperti dari metode utama statis), objek kelas harus dibuat terlebih dahulu. Kemudian dengan menggunakan referensi objek, metode ini dapat dipanggil.
63) Apa saja dua variabel lingkungan yang harus diatur agar dapat menjalankannya Java program?
Java program dapat dieksekusi di mesin hanya setelah dua variabel lingkungan ditetapkan dengan benar:
- variabel PATH
- Variabel CLASSPATH
64) Dapatkah variabel digunakan dalam Java tanpa inisialisasi?
In Java, jika suatu variabel digunakan dalam kode tanpa inisialisasi sebelumnya dengan nilai yang valid, program tidak akan dikompilasi dan memberikan kesalahan karena tidak ada nilai default yang ditetapkan ke variabel di Java.
65) Bisakah kelas masuk Java diwarisi dari lebih dari satu kelas?
In Java, suatu kelas hanya dapat diturunkan dari satu kelas dan tidak dapat diturunkan dari beberapa kelas. Warisan berganda tidak didukung oleh Java.
66) Bisakah konstruktor memiliki nama yang berbeda dari nama Kelas di Java?
Konstruktor di Java harus memiliki nama yang sama dengan nama kelas dan jika namanya berbeda, ia tidak bertindak sebagai konstruktor dan kompiler menganggapnya sebagai metode normal.
67) Apa keluaran dari Round(3.7) dan Ceil(3.7)?
Round(3.7) mengembalikan 4 dan Ceil(3.7) mengembalikan 4.
68) Bisakah kita menggunakan goto in Java untuk pergi ke jalur tertentu?
In Java, tidak ada kata kunci goto dan Java tidak mendukung fitur ini untuk menuju ke baris berlabel tertentu.
69) Apakah thread yang mati dapat dimulai kembali?
Di java, thread yang dalam keadaan mati tidak dapat dimulai kembali. Tidak ada cara untuk memulai kembali thread yang mati.
70) Apakah deklarasi kelas berikut benar?
public abstract final class testClass { // Class methods and variables }
Jawab: Deklarasi kelas di atas salah karena kelas abstrak tidak dapat dinyatakan sebagai Final.
71) Apakah JDK diperlukan pada setiap mesin untuk menjalankan a Java program?
JDK adalah Kit pengembangan Java dan diperlukan untuk pengembangan saja dan untuk menjalankan a Java program pada mesin, JDK tidak diperlukan. Hanya JRE yang diperlukan.
72) Apa perbedaan antara perbandingan yang dilakukan dengan metode sama dengan dan operator ==?
In Java, metode equals() digunakan untuk membandingkan konten dua objek string dan mengembalikan true jika keduanya memiliki nilai yang sama sementara operator == membandingkan referensi dua objek string.
Dalam contoh berikut, equals() mengembalikan true karena kedua objek string memiliki nilai yang sama. Namun operator == mengembalikan false karena kedua objek string merujuk ke objek yang berbeda:
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) Apakah mungkin untuk mendefinisikan suatu metode di Java kelas tetapi berikan implementasinya dalam kode bahasa lain seperti C?
Ya, kita bisa melakukan ini dengan menggunakan metode asli. Dalam hal pengembangan berbasis metode asli, kami mendefinisikan metode statis publik di Java kelas tanpa implementasinya dan kemudian implementasi dilakukan dalam bahasa lain seperti C secara terpisah.
74) Bagaimana destruktor didefinisikan dalam Java?
In Java, tidak ada destruktor yang didefinisikan di kelas karena tidak perlu melakukannya. Java memiliki mekanisme pengumpulan sampah sendiri yang melakukan pekerjaan secara otomatis dengan menghancurkan objek ketika tidak lagi direferensikan.
Java Pertanyaan dan Jawaban Wawancara untuk Pengalaman 5+ Tahun
75) Bisakah suatu variabel bersifat lokal dan statis pada saat yang bersamaan?
Tidak, variabel tidak boleh statis dan lokal pada saat yang bersamaan. Mendefinisikan variabel lokal sebagai statis memberikan kesalahan kompilasi.
76) Bisakah kita memiliki metode statis di Antarmuka?
Metode statis tidak dapat ditimpa di kelas mana pun sementara metode apa pun di antarmuka secara default bersifat abstrak dan seharusnya diimplementasikan di kelas yang mengimplementasikan antarmuka. Jadi tidak masuk akal untuk memiliki metode statis dalam sebuah antarmuka Java.
77) Dalam kelas yang mengimplementasikan antarmuka, bisakah kita mengubah nilai variabel apa pun yang ditentukan dalam antarmuka?
Tidak, kita tidak dapat mengubah nilai variabel apa pun dari antarmuka di kelas penerapan karena semua variabel yang didefinisikan dalam antarmuka secara default bersifat publik, statis, dan Final. Variabel final seperti konstanta yang tidak dapat diubah nanti.
78) Apakah benar mengatakan itu karena fitur pengumpulan sampah di Java, program java tidak pernah kehabisan memori?
Padahal pengumpulan sampah otomatis disediakan oleh Java, itu tidak memastikan bahwa a Java program tidak akan kehabisan memori karena ada kemungkinan pembuatan Java objek dilakukan dengan kecepatan yang lebih cepat dibandingkan dengan pengumpulan sampah sehingga memenuhi semua sumber daya memori yang tersedia.
Jadi, pengumpulan sampah membantu mengurangi kemungkinan suatu program kehabisan memori tetapi tidak menjamin hal tersebut.
79) Bisakah kita memiliki tipe pengembalian selain void untuk metode utama?
Tidak, Java metode kelas utama hanya dapat memiliki tipe pengembalian batal agar program berhasil dijalankan.
Meskipun demikian, jika Anda benar-benar harus mengembalikan nilai pada penyelesaian metode utama, Anda dapat menggunakan System.exit(int status)
80) Saya ingin mengambil kembali dan menggunakan suatu benda setelah sampahnya dikumpulkan. Bagaimana mungkin?
Setelah suatu objek dihancurkan oleh pengumpul sampah, objek tersebut tidak ada lagi di heap dan tidak dapat diakses lagi. Tidak ada cara untuk merujuknya lagi.
81) Masuk Java pemrograman thread, metode manakah yang harus diterapkan untuk semua thread?
Run() adalah metode antarmuka Runnable yang harus diimplementasikan oleh semua thread.
82) Saya ingin mengontrol koneksi database dalam program saya dan ingin hanya satu thread yang dapat membuat koneksi database dalam satu waktu. Bagaimana saya bisa menerapkan logika ini?
Jawaban: Hal ini dapat diimplementasikan dengan menggunakan konsep sinkronisasi. Kode yang terkait dengan database dapat ditempatkan dalam metode yang memiliki disinkronkan kata kunci sehingga hanya satu thread yang dapat mengaksesnya dalam satu waktu.
83) Bagaimana pengecualian dapat diberikan secara manual oleh seorang programmer?
Untuk memunculkan pengecualian dalam blok kode secara manual, melemparkan kata kunci digunakan. Kemudian pengecualian ini ditangkap dan ditangani di blok 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) Saya ingin kelas saya dikembangkan sedemikian rupa sehingga tidak ada kelas lain (bahkan kelas turunan) yang dapat membuat objeknya. Bagaimana saya bisa melakukannya?
Jika kita mendeklarasikan konstruktor suatu kelas sebagai pribadi, maka kelas tersebut tidak akan dapat diakses oleh kelas lain mana pun dan oleh karena itu, tidak ada kelas lain yang dapat membuat instance kelas tersebut dan pembentukan objeknya akan terbatas pada kelas itu sendiri saja.
85) Bagaimana benda disimpan Java?
Di java, setiap objek saat dibuat mendapat ruang memori dari heap. Ketika suatu objek dimusnahkan oleh pengumpul sampah, ruang yang dialokasikan untuk objek tersebut dari heap dialokasikan kembali ke heap dan tersedia untuk objek baru.
86) Bagaimana kita bisa mengetahui ukuran sebenarnya suatu benda di heap?
Di java, tidak ada cara untuk mengetahui ukuran pasti suatu objek di heap.
87) Kelas manakah berikut yang akan memiliki alokasi memori lebih besar?
Kelas A: Tiga metode, empat variabel, tanpa objek
Kelas B: Lima metode, tiga variabel, tanpa objek
Memori tidak dialokasikan sebelum pembuatan objek. Karena untuk kedua kelas, tidak ada objek yang dibuat sehingga tidak ada memori yang dialokasikan di heap untuk kelas mana pun.
88) Apa yang terjadi jika pengecualian tidak ditangani dalam suatu program?
Jika pengecualian tidak ditangani dalam program menggunakan blok try catch, program akan dibatalkan dan tidak ada pernyataan yang dieksekusi setelah pernyataan yang menyebabkan pengecualian tersebut dilempar.
89) Saya memiliki beberapa konstruktor yang didefinisikan dalam satu kelas. Apakah mungkin memanggil konstruktor dari badan konstruktor lain?
Jika suatu kelas memiliki beberapa konstruktor, dimungkinkan untuk memanggil satu konstruktor dari isi konstruktor lainnya menggunakan ini().
90) Apa yang dimaksud dengan kelas anonim?
Kelas anonim adalah kelas yang didefinisikan tanpa nama apa pun dalam satu baris kode menggunakan kata kunci baru.
Misalnya, dalam kode di bawah ini kita telah mendefinisikan kelas anonim dalam satu baris kode:
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) Apakah ada cara untuk menambah ukuran array setelah deklarasinya?
Array bersifat statis dan setelah kita menentukan ukurannya, kita tidak dapat mengubahnya. Jika kita ingin menggunakan koleksi yang memerlukan perubahan ukuran (tidak ada item), kita sebaiknya memilih vektor daripada array.
92) Jika suatu aplikasi memiliki banyak kelas di dalamnya, bolehkah memiliki metode utama di lebih dari satu kelas?
Jika ada metode utama di lebih dari satu kelas dalam aplikasi java, hal ini tidak akan menyebabkan masalah apa pun karena titik masuk untuk aplikasi apa pun akan menjadi kelas tertentu dan kode akan dimulai dari metode utama kelas tersebut saja.
93) Saya ingin menyimpan data objek untuk penggunaan selanjutnya. Apa pendekatan terbaik untuk melakukannya?
Cara terbaik untuk menyimpan data untuk penggunaan di masa mendatang adalah dengan menggunakan konsep serialisasi.
94) Apa yang dimaksud dengan kelas Lokal Java?
In Java, jika kita mendefinisikan kelas baru di dalam blok tertentu, itu disebut kelas lokal. Kelas seperti itu memiliki cakupan lokal dan tidak dapat digunakan di luar blok tempat kelas tersebut ditentukan.
95) Senar dan SenarBuffer keduanya mewakili objek String. Bisakah kita membandingkan String dan StringBuffer in Java?
Meskipun String dan StringBuffer keduanya mewakili objek String, kita tidak dapat membandingkannya satu sama lain dan jika kita mencoba membandingkannya, kita mendapatkan kesalahan.
96) API mana yang disediakan oleh Java untuk operasi pada sekumpulan objek?
Java menyediakan Collection API yang menyediakan banyak metode berguna yang dapat diterapkan pada sekumpulan objek. Beberapa kelas penting yang disediakan oleh Collection API antara lain ArrayList, HashMap, TreeSet dan TreeMap.
97) Bisakah kita memasukkan tipe lain ke Tipe Boolean dengan tipe casting?
Tidak, kita tidak bisa memasukkan tipe data primitif lainnya ke tipe data Boolean dan juga tidak bisa memasukkan tipe data Boolean ke tipe data primitif lainnya.
98) Bisakah kita menggunakan tipe pengembalian yang berbeda untuk metode saat diganti?
Persyaratan dasar metode override di Java adalah bahwa metode yang diganti harus memiliki nama dan parameter yang sama. Tetapi suatu metode dapat diganti dengan tipe pengembalian yang berbeda selama tipe pengembalian yang baru memperluas yang asli.
Misalnya, metode mengembalikan tipe referensi.
Class B extends A { A method(int x) { //original method } B method(int x) { //overridden method } }
99) Apa kelas dasar dari semua kelas pengecualian?
In Java, Java.lang.Throwable
adalah kelas super dari semua kelas pengecualian dan semua kelas pengecualian diturunkan dari kelas dasar ini.
100) Bagaimana urutan pemanggilan konstruktor dalam warisan?
Dalam kasus pewarisan, ketika objek baru dari kelas turunan dibuat, pertama-tama konstruktor kelas super dipanggil dan kemudian konstruktor kelas turunan dipanggil.
Persiapan Untuk Wawancara Kerja Anda!!! Lewati Java Tutorial untuk lebih siap.
Ini detail Java Kuis Tes Mock akan membantu Anda menghilangkan keraguan Java pertanyaan wawancara dan juga akan membantu Anda memecahkan wawancara.
Ini Java dan Java 8 pertanyaan wawancara juga akan membantu dalam viva Anda (lisan)