Jadual Kandungan
Mengakses kaedah kelas induk
Memanggil pembina kelas induk
Menyelesaikan konflik nama lapangan
Rumah Java javaTutorial Apakah kata kunci super di Java?

Apakah kata kunci super di Java?

Jul 30, 2025 am 02:49 AM

Kata kunci super digunakan di Java untuk merujuk kepada kelas induk objek semasa. Penggunaan utamanya termasuk mengakses kaedah kelas induk, memanggil pembina kelas induk, dan menyelesaikan konflik nama lapangan. 1. Akses kaedah kelas induk: Apabila kelas kanak -kanak mengatasi kaedah kelas induk, versi kelas induk boleh dipanggil melalui super.method () untuk memperluaskan tingkah lakunya dan bukannya menggantikannya sepenuhnya; 2. Panggil pembina kelas induk: super () atau super (args) digunakan dalam pembina kelas kanak -kanak untuk memulakan bidang kelas induk, dan pernyataan itu mesti terletak pada baris pertama pembina kelas kanak -kanak; 3. Selesaikan konflik nama lapangan: Jika kelas kanak -kanak mentakrifkan medan nama yang sama seperti kelas induk, Super.FieldName boleh digunakan untuk mengakses medan kelas induk secara jelas.

Apakah kata kunci super di Java?

Kata kunci super di Java digunakan untuk merujuk kepada kelas induk (atau superclass) objek semasa. Ia sangat berguna apabila anda bekerja dengan warisan, terutamanya jika anda ingin mengakses kaedah atau pembina dari kelas induk yang mungkin tersembunyi atau ditindih dalam subkelas.

Apakah kata kunci super di Java?

Mari kita memecahkannya ke dalam kes penggunaan biasa supaya anda dapat melihat bagaimana dan mengapa anda menggunakan super .


Mengakses kaedah kelas induk

Apabila subclass mengatasi kaedah dari kelas induknya, versi dalam kelas kanak -kanak mendapat keutamaan. Tetapi kadang -kadang anda masih mahu menjalankan versi ibu bapa - mungkin untuk memperluaskan tingkah lakunya dan bukannya menggantikannya sepenuhnya.

Apakah kata kunci super di Java?

Contohnya:

 haiwan kelas {
    tidak sah bercakap () {
        System.out.println ("Haiwan Bercakap");
    }
}

anjing kelas memanjangkan haiwan {
    @Override
    tidak sah bercakap () {
        super.speak (); // memanggil versi haiwan terlebih dahulu
        System.out.println ("Barks Dog");
    }
}

Dalam kes ini:

Apakah kata kunci super di Java?
  • super.speak() menjalankan kaedah asal dari Animal
  • Kemudian kami menambah tingkah laku tambahan khusus untuk Dog

Corak ini benar -benar berguna apabila anda ingin membina logik sedia ada tanpa kod pendua.


Memanggil pembina kelas induk

Jika subclass anda mempunyai pembina, anda sering perlu memulakan bidang yang dimiliki oleh kelas induk. Anda boleh melakukannya dengan memanggil pembina ibu bapa menggunakan super() sebagai baris pertama dalam pembina subkelas anda.

Inilah yang kelihatan seperti:

 kenderaan kelas {
    Kenderaan (jenama rentetan) {
        System.out.println ("Jenama Kenderaan:" Jenama);
    }
}

Kereta kelas memanjangkan kenderaan {
    Kereta (jenama rentetan) {
        Super (jenama); // mesti datang terlebih dahulu
        System.out.println ("kereta yang dibuat");
    }
}

Beberapa perkara yang perlu diperhatikan:

  • super() mestilah pernyataan pertama dalam pembina
  • Sekiranya anda tidak memanggil super() secara eksplisit, Java menambah super() untuk anda secara automatik
  • Sekiranya ibu bapa tidak mempunyai pembina tidak ada, anda mesti memberikan hujah yang betul

Menyelesaikan konflik nama lapangan

Kadang -kadang subclass mentakrifkan medan dengan nama yang sama seperti satu dalam kelas induk. Dalam hal ini, anda boleh menggunakan super.fieldName untuk mengakses versi ibu bapa.

Contoh:

 ibu bapa kelas {
    int nilai = 10;
}

Anak kelas memanjangkan ibu bapa {
    int nilai = 20;

    void printValues () {
        System.out.println ("Nilai Anak:" Nilai);
        System.out.println ("Nilai induk:" super.value);
    }
}

Ini membantu mengelakkan kekeliruan apabila kedua -dua kelas menentukan bidang yang sama dan anda perlu membezakan antara mereka.


Jadi ya, super bukan sihir - ia hanya satu cara untuk dengan jelas mengatakan "Saya mahu menggunakan sesuatu dari kelas induk saya." Sama ada kaedah, pembina, atau medan, super memberi anda kawalan ke atas versi yang anda maksudkan.

Dan dengan jujur, apabila anda terbiasa dengannya, ia membuat kerja dengan warisan yang lebih bersih dan lebih fleksibel.

Itu pada dasarnya. Tidak terlalu rumit, tetapi pasti penting apabila anda mula membina hierarki kelas yang lebih kompleks.

Atas ialah kandungan terperinci Apakah kata kunci super di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1535
276
Penanda aras prestasi benang maya java Penanda aras prestasi benang maya java Jul 21, 2025 am 03:17 AM

Benang maya mempunyai kelebihan prestasi yang signifikan dalam senario yang sangat konkurensi dan intensif, tetapi perhatian harus dibayar kepada kaedah ujian dan senario yang berkenaan. 1. Ujian yang betul harus mensimulasikan perniagaan sebenar, terutamanya senario menyekat IO, dan menggunakan alat seperti JMH atau Gatling untuk membandingkan benang platform; 2. Jurang throughput adalah jelas, dan boleh beberapa kali hingga sepuluh kali lebih tinggi daripada 100,000 permintaan serentak, kerana ia lebih ringan dan cekap dalam penjadualan; 3. Semasa ujian, adalah perlu untuk mengelakkan membabi buta mengejar nombor konvensional yang tinggi, menyesuaikan diri dengan model IO yang tidak menyekat, dan memberi perhatian kepada petunjuk pemantauan seperti latensi dan GC; 4.

Java Microservices Perkhidmatan Mesh Integrasi Java Microservices Perkhidmatan Mesh Integrasi Jul 21, 2025 am 03:16 AM

ServiceMesh adalah pilihan yang tidak dapat dielakkan untuk evolusi seni bina microservice Java, dan terasnya terletak pada decoupling logik rangkaian dan kod perniagaan. 1. ServiceMesh mengendalikan pengimbangan beban, fius, pemantauan dan fungsi lain melalui agen sidecar untuk memberi tumpuan kepada perniagaan; 2. INTOR ISTIO sesuai untuk projek sederhana dan besar, dan Linkerd lebih ringan dan sesuai untuk ujian berskala kecil; 3. Java microservices harus menutup, reben dan komponen lain dan menyerahkannya kepada Istiod untuk penemuan dan komunikasi; 4. Memastikan suntikan automatik sidecar semasa penempatan, perhatikan konfigurasi peraturan lalu lintas, keserasian protokol, dan pembinaan sistem penjejakan log, dan mengamalkan penghijrahan tambahan dan perancangan pemantauan pra-kawalan.

Bagaimana menangani transaksi di Java dengan JDBC? Bagaimana menangani transaksi di Java dengan JDBC? Aug 02, 2025 pm 12:29 PM

Untuk mengendalikan transaksi JDBC dengan betul, anda mesti terlebih dahulu mematikan mod komit automatik, kemudian melakukan pelbagai operasi, dan akhirnya melakukan atau mengembalikan semula hasilnya; 1. Panggil Conn.SetAutOcommit (palsu) untuk memulakan transaksi; 2. Melaksanakan pelbagai operasi SQL, seperti memasukkan dan mengemaskini; 3. Panggil Conn.Commit () jika semua operasi berjaya, dan hubungi conn.rollback () jika pengecualian berlaku untuk memastikan konsistensi data; Pada masa yang sama, cuba-dengan-sumber harus digunakan untuk menguruskan sumber, mengendalikan pengecualian dengan betul dan menutup sambungan untuk mengelakkan kebocoran sambungan; Di samping itu, adalah disyorkan untuk menggunakan kolam sambungan dan menetapkan mata simpan untuk mencapai rollback separa, dan menyimpan urus niaga sesingkat mungkin untuk meningkatkan prestasi.

Menguasai Suntikan Ketergantungan di Jawa dengan Spring dan Guice Menguasai Suntikan Ketergantungan di Jawa dengan Spring dan Guice Aug 01, 2025 am 05:53 AM

DependencyInjection (DI) isadesignpatternwhereBjectsReceivedependencys ke luar, promotingloosecouplingandeasieSierTestthroughconstructor, setter, orfieldInjection.2.springframeworkusesannotationsike@component,@service, dan@autowwithjava yang berasaskan@autowwithjava

Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pra-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless scenarios.tyvelopecosyste,

Membina API Restful di Jawa dengan Jakarta EE Membina API Restful di Jawa dengan Jakarta EE Jul 30, 2025 am 03:05 AM

SetupaMaven/gradleprojectwithjax-rsdependencyiSejersey; 2.createarescresourceUsingAnnotationssuchas@pathand@get; 3.configuretheapplicationviaapplicationsubclassorweb.xml;

Bagaimana untuk bekerja dengan kalendar di Jawa? Bagaimana untuk bekerja dengan kalendar di Jawa? Aug 02, 2025 am 02:38 AM

Gunakan kelas dalam pakej Java.Time untuk menggantikan kelas lama dan kelas kalendar; 2. Dapatkan tarikh dan masa semasa melalui LocalDate, LocalDateTime dan Tempatan Tempatan; 3. Buat tarikh dan masa tertentu menggunakan kaedah (); 4. Gunakan kaedah tambah/tolak untuk meningkatkan dan mengurangkan masa; 5. Gunakan zoneddatetime dan zonid untuk memproses zon waktu; 6. Format dan parse date string melalui DateTimeFormatter; 7. Gunakan segera untuk bersesuaian dengan jenis tarikh lama apabila perlu; pemprosesan tarikh di java moden harus memberi keutamaan untuk menggunakan java.timeapi, yang memberikan jelas, tidak berubah dan linear

Pengoptimuman prestasi java dan teknik profil Pengoptimuman prestasi java dan teknik profil Jul 31, 2025 am 03:58 AM

Gunakan alat analisis prestasi untuk mencari kesesakan, gunakan VisualVM atau JProfiler dalam peringkat pembangunan dan ujian, dan memberi keutamaan kepada async-profiler dalam persekitaran pengeluaran; 2. Mengurangkan penciptaan objek, menggunakan semula objek, gunakan StringBuilder untuk menggantikan splicing rentetan, dan pilih strategi GC yang sesuai; 3. Mengoptimumkan penggunaan koleksi, pilih dan preset kapasiti awal mengikut tempat kejadian; 4. Mengoptimumkan keserasian, gunakan koleksi serentak, mengurangkan granulariti kunci, dan tetapkan kolam benang dengan munasabah; 5. Tune Parameter JVM, tetapkan saiz timbunan yang munasabah dan pemungut sampah rendah dan membolehkan log GC; 6. Elakkan refleksi di peringkat kod, ganti kelas pembalut dengan jenis asas, penangguhan permulaan, dan gunakan akhir dan statik; 7. Ujian dan Pemantauan Prestasi Berterusan, digabungkan dengan JMH

See all articles