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!

Terdapat perbezaan halus dalam prestasi Java pada sistem operasi yang berbeza. 1) Pelaksanaan JVM adalah berbeza, seperti Hotspot dan OpenJDK, yang mempengaruhi prestasi dan pengumpulan sampah. 2) Struktur sistem fail dan pemisah laluan adalah berbeza, jadi ia perlu diproses menggunakan perpustakaan standard Java. 3) Pelaksanaan pembezaan protokol rangkaian mempengaruhi prestasi rangkaian. 4) Penampilan dan tingkah laku komponen GUI berbeza pada sistem yang berbeza. Dengan menggunakan perpustakaan standard dan ujian mesin maya, kesan perbezaan ini dapat dikurangkan dan program Java dapat dipastikan berjalan lancar.

JavaoffersrobustObustObject-orientedramming (oop) andtop-notchsecurityfeatures.1) oopinjavaincludesclass, objek, warisan, polimorfisme, andencapsulation, enablingflexibleandmaintainableShem

JavaScriptandjavahavedistinctStrengths: Javascriptexcelsindynamictypingandasynchronousprogramming, whilvaisrobustwithstrongo Opandtyping.1) JavaScript'sdynamicnatureallowsforrapiddevelopmentandprototyping, withasync/Awaitfornon-blockingi/o.2) java'Soopf

JavaachievesplatformindendencethroughtheJavaVirtualMachine (JVM) andByteCode.1) TheJVMInterPretsByTecode, membolehkanMeSameCodeCodeTorunonanyplatformWithAjvm.2)

Java'splatformindependencemeansapplicationscanonanyplatformwithajvm, membolehkan "writeonce, runanywhere.

JVM'sperformanceiscompetitiveWithotherRuntimes, menawarkanbalanceofspeed, keselamatan, dan produktiviti.1) jvmusesjitcompilationfordynamiciptimizations.2) c menawarkanSnativePerformanceButLacksjvm'sSafetyFeatures.3) pythonissloweSiSiSiSiSiSiS.3) pythonissloweSiSiSiSiSiS.3) pythonissloweSiSiSiSiSiS.3)

Javaachievesplatformindependencethroughthejavavirtualmachine (jvm), membenarkancodetorunonanyplatformwithajvm.1) codeiscompiledintobytecode, notmachine-specificcode.2) byteCodeisinterpretedbybspretedbspretedbspretedbspretedbspretspretedbspretspret

TheJVMisanabstractcomputingmachinecrucialforrunningJavaprogramsduetoitsplatform-independentarchitecture.Itincludes:1)ClassLoaderforloadingclasses,2)RuntimeDataAreafordatastorage,3)ExecutionEnginewithInterpreter,JITCompiler,andGarbageCollectorforbytec


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

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan
