Kelas tanpa nama di Jawa
kelas tanpa nama di Java ialah kelas yang tidak dinamakan, sesuai untuk mentakrif dan membuat instantiating pelaksanaan kelas atau antara muka di tempat, tanpa memerlukan fail tambahan. Sifat sekali guna menghalang penggunaan semula. Tidak seperti kelas tempatan (pengisytiharan), kelas tanpa nama ialah ungkapan yang menjana satu objek, boleh diserahkan kepada pembolehubah.
Ia amat berguna apabila kelas digunakan sekali sahaja, seperti apabila mentakrifkan kaedah tertentu antara muka atau kelas abstrak. Aplikasinya kerap dalam Java Swing dengan fungsi event listeners
atau lambda (fungsi anak panah).
Sebagai fakta yang ingin tahu, pengkompil Java memberikan mereka nama automatik (cth. ClaseContenedora.class
), dibentuk dengan nama kelas yang mengandungi dan nombor yang menunjukkan kedudukannya.
Sintaks:
Sebagai ungkapan, sintaksnya menyerupai seruan pembina, tetapi sebaliknya, ia mengandungi blok kod yang mentakrifkan struktur kelas:
ClaseOInterfaz nombreVariable = new ClaseOInterfaz() { // Cuerpo de la clase anónima };
Komponen utama ialah:
- Pengendali
new
. - Nama kelas untuk dilanjutkan atau antara muka untuk dilaksanakan.
- Kurungan dengan hujah pembina (jika anda mempunyainya), sama seperti semasa membuat instantiat kelas biasa. Dalam antara muka, kurungan kosong.
- Kunci yang mengunci badan kelas.
- Ia diisytiharkan dan dijadikan instantiated dalam satu baris, disimpan dalam pembolehubah.
Jenis Kelas Tanpa Nama:
- Pelanjutan kelas.
- Pelanjutan kelas abstrak.
- Pelaksanaan antara muka.
- Hujah kaedah.
Contoh:
1. Sambungan kelas:
public class Carro { public void tipoMotor() { System.out.println("Motor de combustión interna"); } } public class Main { public static void main(String[] args) { Carro carroCombustion = new Carro(); Carro carroElectrico = new Carro() { @Override public void tipoMotor() { System.out.println("Motor eléctrico"); } }; carroCombustion.tipoMotor(); // Motor de combustión interna carroElectrico.tipoMotor(); // Motor eléctrico } }
2. Sambungan kelas abstrak:
public abstract class ConexionBD { public abstract void obtenerConexion(); } public class Main { public static void main(String[] args) { ConexionBD conexionMySQL = new ConexionBD() { @Override public void obtenerConexion() { System.out.println("Conexión a MySQL"); } }; ConexionBD conexionPostgreSQL = new ConexionBD() { @Override public void obtenerConexion() { System.out.println("Conexión a PostgreSQL"); } }; conexionMySQL.obtenerConexion(); // Conexión a MySQL conexionPostgreSQL.obtenerConexion(); // Conexión a PostgreSQL } }
3. Pelaksanaan antara muka:
import java.util.Arrays; import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numeros = Arrays.asList(5, 10, 56, 3, 2, 1, 0); numeros.sort(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }); System.out.println(numeros); // [56, 10, 5, 3, 2, 1, 0] } }
4. Hujah kaedah:
public class Main { public static void main(String[] args) { Thread hilo = new Thread(new Runnable() { @Override public void run() { while (true) { System.out.println("Hola, soy un hilo"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }); hilo.start(); } }
Kelebihan:
- Penciptaan objek hanya apabila ia diperlukan.
- Mengubah suai gelagat kelas atau antara muka tanpa subkelas.
- Kod yang lebih ringkas dan boleh dibaca.
- Penjimatan masa dengan mengelakkan fail tambahan.
Skop:
Serupa dengan kelas biasa, dengan akses kepada pembolehubah tempatan skop kontena, dengan sekatan tidak boleh mengisytiharkan pemula atau antara muka statik, dan pengehadan akses kepada pembolehubah tempatan bukan muktamad atau muktamad secara berkesan.
Kesimpulan:
Kelas tanpa nama ialah alat yang berkuasa dan serba boleh di Java, berguna untuk pelaksanaan yang unik dan ringkas. Penggunaannya, walaupun kadangkala tersirat, memudahkan kod dan meningkatkan kecekapan. Untuk mendapatkan maklumat lanjut, lihat dokumentasi Java rasmi.
Atas ialah kandungan terperinci Kelas tanpa nama di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...
