Editor telah menyusun pertanyaan tes tertulis dalam wawancara yang sangat populer untuk teman -teman yang mewawancarai programmer Java. Jika Anda seorang pembaca yang sedang bersiap untuk mewawancarai programmer Java, pelajari dengan cepat.
1. Pernyataan berikut ini benar ()
A. Dua kelas yang dimodifikasi publik dapat ada pada saat yang sama dalam sebuah file.
B. Konstruktor dapat ditimpa
C. Subkelas tidak dapat mengakses properti yang tidak dimodifikasi oleh kelas induk oleh publik dan dilindungi.
D. Kelas Modifikasi Final dapat diwariskan
Jawaban: c
Hanya ada satu kelas publik dalam file sumber Java. Ketika ada kelas publik, nama file sumber harus konsisten dengan itu, jika tidak, itu tidak dapat dikompilasi. Jika tidak ada kelas publik dalam file sumber, tidak ada persyaratan konsistensi antara nama file dan kelas. Adapun Main (), tidak harus ditempatkan di kelas publik untuk menjalankan program.
Penulisan ulang adalah untuk memodifikasi metode kelas induk setelah kelas anak diwarisi dari kelas induk. Nama metode, parameter, dan nilai pengembalian harus sama. Metode yang ditandai final tidak dapat ditulis ulang. Jika Anda tidak dapat mewarisi suatu metode, Anda tidak dapat mengganti metode ini.
Ekstensi: Perbedaan antara override penulisan ulang dan kelebihan beban berlebih
Metode Java Overloading
Ini adalah bahwa beberapa metode dapat dibuat di kelas, yang memiliki nama yang sama, tetapi memiliki parameter yang berbeda dan definisi yang berbeda. Saat metode panggilan, metode spesifik ditentukan oleh jumlah parameter yang berbeda dan jenis parameter yang diteruskan ke mereka. Jenis nilai pengembalian dapat sama atau berbeda, yang juga merupakan polimorfisme yang berorientasi objek.
Metode Java menulis ulang
Polimorfisme antara kelas induk dan kelas anak mendefinisikan kembali fungsi kelas induk. Jika metode yang didefinisikan dalam subclass memiliki nama dan parameter yang sama dengan kelas induknya, kami mengatakan bahwa metode tersebut menjadi utama. Di Java, subclass dapat mewarisi metode dari kelas induk tanpa menulis ulang metode yang sama. Tetapi kadang -kadang subclass tidak ingin mewarisi metode kelas induk utuh, tetapi ingin membuat modifikasi tertentu, yang membutuhkan penulisan ulang metode. Metode Onchriting juga disebut Metode Onchriting.
Jika metode dalam subclass memiliki nama metode yang sama, tipe pengembalian, dan tabel parameter sebagai metode di kelas induk, metode baru akan mengganti metode asli. Jika Anda memerlukan metode asli di kelas induk, Anda dapat menggunakan kata kunci super, yang mengacu pada kelas induk dari kelas saat ini.
Izin modifikasi akses dari fungsi subkelas tidak bisa kurang dari yang dari kelas induk;
Menulis ulang metode hanya dapat ada dalam hubungan warisan, dan menulis ulang metode hanya dapat menulis ulang metode yang tidak pribadi di kelas induk.
2. Jumlah waktu eksekusi dari (int x = 0, y = 0; (y! = 0) && (x <4); x ++) loop adalah ()
A. Waktu tidak terbatas
B. Jalankan 4 kali
C. Jalankan 3 kali
D. Jangan menjalankannya sekali
Jawaban: d
Nilai awal y adalah 0. Di keseluruhan untuk loop, nilai y tetap tidak berubah, jadi pernyataan penilaian (y! = 0) tidak benar, jadi itu tidak dieksekusi sekali.
3. Mengenai tumpukan java, pernyataan berikut ini salah ()
A. Semua instance dan array kelas dialokasikan memori pada tumpukan.
B. memori tumpukan yang ditempati oleh objek dikumpulkan oleh sistem manajemen memori otomatis.
C. Heap memori terdiri dari benda mati dan mati dan fragmen bebas.
D. Array dialokasikan di tumpukan
Jawaban: d
Pertama -tama, array dialokasikan dalam tumpukan, sehingga pernyataan D tidak benar.
Struktur tumpukan Java: tumpukan JVM adalah area data runtime, dan semua instance dan array kelas dialokasikan memori pada tumpukan. Ini dibuat ketika JVM dimulai. Memori tumpukan yang ditempati oleh objek dikumpulkan oleh sistem manajemen memori otomatis, yaitu, pengumpul sampah. Heap memori terdiri dari objek yang bertahan dan mati. Objek yang masih hidup dapat diakses oleh aplikasi dan tidak akan dikumpulkan sampah. Objek mati adalah objek yang tidak dapat diakses oleh aplikasi dan belum didaur ulang oleh pengumpul sampah. Mereka akan menempati tumpukan ruang memori sampai pengumpul sampah merebut kembali benda -benda ini.
4. Saat menggunakan kata kunci Super dan ini, deskripsi yang benar di bawah ini adalah ()
A. Gunakan super () dalam konstruktor subkelas untuk menampilkan konstruktor yang memanggil kelas induk;
Super () harus ditulis pada baris pertama konstruktor subkelas, jika tidak kompilasi tidak akan dilewati.
B.super () dan ini () tidak harus ditempatkan di baris pertama dalam metode konstruktor
C. ini () dan super () dapat muncul dalam konstruktor secara bersamaan
D. Ini () dan super () dapat digunakan di lingkungan statis, termasuk metode statis dan blok pernyataan statis
Jawaban: a
Kata kunci Java ini hanya dapat digunakan dalam Badan Metode. Ketika suatu objek dibuat, Java Virtual Machine (JVM) akan menetapkan pointer ke objek yang mengacu pada dirinya sendiri, dan nama pointer ini adalah ini. Oleh karena itu, ini hanya dapat digunakan dalam metode non-statis di kelas, dan ini tidak boleh muncul dalam metode statis dan blok kode statis.
Kunci super mirip dengan ini, yaitu variabel anggota yang diblokir atau metode anggota menjadi terlihat, atau digunakan untuk merujuk ke variabel anggota yang diblokir dan metode anggota anggota.
Namun, Super digunakan dalam subkelas, dengan tujuan mengakses anggota yang diblokir di kelas induk langsung. Perhatikan bahwa itu adalah kelas induk langsung (yaitu superclass terbaru di atas kelas)
5. Manakah dari pernyataan berikut yang benar ()
A. Setelah program Java dikompilasi, kode mesin akan dihasilkan
B. Program Java akan menghasilkan kode byte setelah dikompilasi.
C. Program Java akan menghasilkan DLL setelah dikompilasi
D. Tidak ada yang di atas yang benar
Jawaban: b
Java Bytecode adalah file menengah yang dihasilkan oleh kompilasi file sumber java
Sifat lintas platform dari mesin virtual Java adalah komputer imajiner yang dapat menjalankan java bytecode. Ini juga relatif mirip dengan bahasa pemrograman lainnya.
Mari kita perkenalkan proses kompilasi bahasa C:
Mari kita perkenalkan proses kompilasi Java: File Java disusun oleh kompiler Java. File Java Bytecode adalah file kelas di mesin virtual Java. Kode mesin dijalankan oleh CPU; Java dikompilasi dengan bytecode.
Komputer hanya dapat menjalankan kode mesin. Saat Java berjalan, itu mengubah bytecode menjadi kode mesin. C/C ++ secara langsung dikompilasi ke dalam kode mesin saat menyusun
6. Manakah dari pernyataan berikut yang benar ()
A. Pengubah abstrak memodifikasi bidang, metode, dan kelas
B. Bagian tubuh dari metode abstrak harus dibungkus dengan sepasang kawat gigi {}
C. Deklarasikan metode abstrak, kawat gigi adalah opsional
D. Deklarasikan metode abstrak tidak dapat ditulis dalam kawat gigi
Jawaban: d
Abstrak Modifier digunakan untuk memodifikasi kelas dan metode anggota
Kelas dimodifikasi dengan abstrak mewakili kelas abstrak. Kelas abstrak terletak di lapisan abstrak pohon warisan. Kelas abstrak tidak dapat dipakai.
Metode abstrak digunakan untuk mengekspresikan metode abstrak, dan metode abstrak tidak memiliki tubuh metode. Metode abstrak digunakan untuk menggambarkan fungsi apa yang dimiliki sistem, tetapi tidak memberikan implementasi khusus.
Abstrak adalah kata kunci penting di Java dan dapat digunakan untuk memodifikasi kelas atau metode.
Saat memodifikasi metode, itu berarti bahwa metode ini hanya memiliki tanda tangan fitur (tanda tangan) dan tidak memiliki implementasi spesifik, tetapi meninggalkan implementasi spesifik ke subkelas yang mewarisi kelas, sehingga tidak mungkin ada kawat gigi.
7. Pernyataan berikut ini benar ()
A. Konstruktor di kelas tidak dapat dihilangkan
B. Konstruktor harus memiliki nama yang sama dengan kelas, tetapi metode tersebut tidak dapat memiliki nama yang sama dengan kelas
C. Konstruktor dieksekusi saat suatu objek baru
D. Kelas hanya dapat mendefinisikan satu konstruktor
Jawaban: c
Mungkin ada kesalahpahaman di sini. Bahkan, metode kelas biasa dapat memiliki nama yang sama dengan nama kelas. Satu -satunya perbedaan antara mereka dan konstruktor adalah bahwa konstruktor tidak memiliki nilai pengembalian.
8. adalah benang gc thread daemon ()
Jawab: Ya
Utas dibagi menjadi utas daemon dan utas non-daemon (mis. Utas pengguna).
Selama tidak ada utas non-daemon dalam instance JVM saat ini, semua utas daemon akan berfungsi; Hanya ketika benang non-daemon terakhir berakhir, benang daemon akan berakhir bekerja dengan JVM.
Aplikasi utas daemon yang paling khas adalah GC (pengumpul sampah)
9. tentang tidur () dan tunggu (), kesalahan berikut adalah ()
A. Tidur adalah metode kelas utas (utas), tunggu adalah metode kelas objek;
B. Tidur tidak melepaskan kunci objek, tunggu meninggalkan kunci objek;
C. Sleep berhenti benang, tetapi status pemantauan tetap, dan akan secara otomatis dilanjutkan setelah akhir;
D. Setelah menunggu, masukkan kolam kunci menunggu. Hanya setelah mengeluarkan metode pemberitahuan untuk objek ini, kunci objek diperoleh dan memasuki status berjalan.
Jawaban: d
Tidur adalah metode kelas utas (utas), menyebabkan utas ini menjeda eksekusi untuk waktu yang ditentukan dan memberikan peluang eksekusi ke utas lain, tetapi status pemantauan tetap dan akan secara otomatis dilanjutkan setelah itu. Memanggil tidur tidak akan melepaskan kunci objek.
Tunggu adalah metode kelas objek. Memanggil metode tunggu pada objek ini menyebabkan utas melepaskan kunci objek dan memasukkan kunci pool menunggu menunggu objek ini. Hanya setelah mengeluarkan metode notify (atau notifyall) untuk objek ini, utas ini memasuki kumpulan kunci objek dan bersiap untuk mendapatkan kunci objek dan memasuki status berjalan.
10. Metode resume () bertanggung jawab untuk memulihkan eksekusi utas mana ()
A, utas yang dihentikan dengan memanggil metode stop ().
B, utas yang dihentikan dengan memanggil metode tidur ().
C, utas yang dihentikan dengan memanggil metode tunggu ().
D, utas yang dihentikan dengan memanggil metode suspend ().
Jawaban: d
Susun dapat menangguhkan utas, yang berarti menangguhkan utas. Ini menempati sumber daya tetapi tidak berjalan. Gunakan resume untuk mengembalikan utas yang ditangguhkan dan biarkan utas terus mengeksekusi.