Rumah > Java > javaTutorial > Adakah Kaedah Statik Sebenarnya Mewarisi di Jawa?

Adakah Kaedah Statik Sebenarnya Mewarisi di Jawa?

Barbara Streisand
Lepaskan: 2024-12-12 11:30:13
asal
991 orang telah melayarinya

Do Static Methods Actually Inherit in Java?

Kaedah Statik dalam Warisan Java

Walaupun pemahaman umum bahawa kaedah statik tidak diwarisi di Jawa, pengecualian yang membingungkan wujud. Kekeliruan berpunca daripada salah faham tentang sifat pewarisan dalam bahasa Java.

Menurut dokumentasi rasmi Java, semua kaedah yang boleh diakses diwarisi oleh subkelas. Ini termasuk kaedah awam, dilindungi dan pakej-peribadi. Kaedah yang diwarisi boleh digunakan sebagaimana adanya, ditindih, disembunyikan atau ditambah dengan kaedah baharu.

Dalam kes kaedah statik, gelagat warisan adalah berbeza hanya dalam kaedah statik yang ditindih dalam subkelas menyembunyikan yang diwarisi kaedah dan bukannya mengatasinya. Apabila dipanggil daripada subkelas, kaedah tersembunyi dalam subkelas akan dilaksanakan dan bukannya kaedah yang diwarisi.

Oleh itu, keupayaan untuk mengakses dan menggunakan paparan kaedah statik() dalam kelas B adalah disebabkan oleh fakta bahawa kaedah diwarisi bersama ahli superclass yang boleh diakses yang lain. Tingkah laku B.display() yang kelihatan tidak normal juga berfungsi kerana ia menggunakan kaedah statik tersembunyi dalam kelas B dan bukannya kaedah yang diwarisi.

Perbezaan antara mengatasi dan menyembunyikan ini mempunyai implikasi yang ketara. Dalam kes mengatasi, kaedah dalam subkelas sentiasa dilaksanakan tanpa mengira sama ada ia dipanggil daripada superclass atau subclass. Walau bagaimanapun, dalam kes menyembunyikan, kaedah yang digunakan bergantung pada konteks. Jika kaedah statik digunakan daripada superclass, kaedah yang diwarisi akan dilaksanakan; jika tidak, kaedah tersembunyi dalam subkelas akan dilaksanakan.

Atas ialah kandungan terperinci Adakah Kaedah Statik Sebenarnya Mewarisi di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan