Pewarisan Kaedah Statik dalam Java
Di Java, peraturan pewarisan yang digariskan dalam "Panduan Pengaturcara untuk Pensijilan Java™ SCJP" adalah benar contohnya kaedah. Kaedah contoh yang boleh diakses diwarisi oleh subkelas. Walau bagaimanapun, penjelasan buku itu gagal mempertimbangkan gelagat unik kaedah statik dalam warisan.
Kaedah statik, seperti namanya, tergolong dalam kelas dan bukannya contoh. Mereka boleh diakses melalui nama kelas, tanpa mengira subkelas mana yang mengaksesnya. Ciri ini membawa kepada sisihan daripada peraturan pewarisan piawai contohnya kaedah.
Apabila subkelas mewarisi kaedah statik daripada kelas supernya, ia tidak menggantikan atau mengatasi kaedah tersebut. Sebaliknya, kaedah statik asal kekal boleh diakses dalam subkelas. Ini berbeza dengan kaedah contoh, di mana overriding boleh berlaku. Sebab perbezaan ini ialah kaedah statik dikaitkan dengan kelas secara keseluruhan, bukan dengan kejadian individu.
Dalam kod contoh yang disediakan, kelas B boleh mengakses kaedah statik paparan() kelas supernya, A , menggunakan sama ada nama ringkas display() atau nama yang layak sepenuhnya B.display(). Kedua-dua pendekatan adalah sah kerana kaedah statik diwarisi dan menjadi sebahagian daripada set kaedah kelas B sendiri.
Adalah diperhatikan bahawa dalam Tutorial Java Sun, secara eksplisit dinyatakan bahawa subkelas mewarisi semua ahli awam dan dilindungi mereka ibu bapa, termasuk kaedah statik (kelas). Perbezaan antara kaedah statik dan bukan statik yang diwarisi terletak pada kelakuan mereka apabila kaedah baharu dengan tandatangan yang sama ditakrifkan dalam subkelas. Walaupun kaedah bukan statik boleh ditindih, kaedah statik disembunyikan. Ini bermakna kaedah statik baharu dalam subkelas akan diutamakan apabila dipanggil dari dalam subkelas itu, tetapi kaedah statik asal kekal boleh diakses apabila dipanggil daripada superclass.
Atas ialah kandungan terperinci Bagaimanakah Pewarisan Kaedah Statik Berbeza daripada Pewarisan Kaedah Contoh di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!