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

Adakah Kaedah Statik Mewarisi di Jawa?

DDD
Lepaskan: 2024-12-11 19:28:10
asal
416 orang telah melayarinya

Do Static Methods Inherit in Java?

Warisan Kaedah Statik dalam Java

Dokumentasi mengenai warisan dalam Java menerangkan bahawa ahli diwarisi berdasarkan kebolehcapaian mereka. Walau bagaimanapun, nampaknya terdapat percanggahan apabila melibatkan kaedah statik.

Menurut dokumentasi, kaedah statik tidak diwarisi. Tetapi kod berikut menunjukkan bahawa kaedah statik boleh diakses dalam subkelas:

class A {
    public static void display() {
        System.out.println("Inside static method of superclass");
    }
}

class B extends A {
    public void show() {
        // This works - accessing display() by its simple name -
        // meaning it is inherited according to the book.
        display();
    }
}
Salin selepas log masuk

Bagaimana ini boleh dilakukan?

Jawapannya terletak pada pelaksanaan asas warisan di Jawa. Semua kaedah yang boleh diakses diwarisi oleh subkelas, tanpa mengira jenisnya (statik atau contoh). Walau bagaimanapun, terdapat perbezaan yang ketara antara pewarisan kaedah statik dan contoh.

Apabila kaedah statik baharu dengan tandatangan yang sama ditakrifkan dalam subkelas, kaedah statik lama disembunyikan dan bukannya ditindih. Ini bermakna kaedah statik baharu diutamakan apabila dipanggil daripada subkelas. Walau bagaimanapun, kaedah statik asal masih boleh diakses menggunakan nama superclass.

Sebaliknya, apabila kaedah tika ditindih dalam subkelas, kaedah tika baharu menggantikan sepenuhnya kaedah tika lama. Inilah sebabnya mengapa kaedah contoh yang diwarisi tidak boleh diakses dengan nama ringkasnya dalam subkelas.

Oleh itu, walaupun kaedah statik tidak disebut secara eksplisit sebagai diwarisi dalam dokumentasi Java, kaedah tersebut diwarisi secara tersirat bersama semua ahli lain yang boleh diakses. Satu-satunya perbezaan dalam pewarisan kaedah statik ialah ia boleh disembunyikan oleh kaedah statik dengan tandatangan yang sama dalam subkelas.

Atas ialah kandungan terperinci Adakah Kaedah Statik 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan