Rumah > Java > javaTutorial > Mengapa Kaedah Statik Abstrak Dilarang di Jawa?

Mengapa Kaedah Statik Abstrak Dilarang di Jawa?

Susan Sarandon
Lepaskan: 2024-12-18 15:13:12
asal
400 orang telah melayarinya

Why Are Abstract Static Methods Forbidden in Java?

Kaedah Statik Abstrak di Java: Mengapa Mereka Tidak-Tidak

Di Jawa, kaedah abstrak dan kaedah statik ialah dua konsep penting . Satu mentakrifkan kontrak yang tidak dilaksanakan yang mesti dipenuhi oleh subkelas, manakala yang satu lagi membenarkan akses kepada kefungsian dikongsi tanpa membuat seketika objek. Walau bagaimanapun, percubaan untuk menggabungkan kedua-dua konsep ini menjadi "kaedah statik abstrak" menimbulkan persoalan yang menarik: mengapa ia dilarang?

Kaedah Abstrak dan Kaedah Statik: Sifat Berbeza

Kaedah abstrak diisytiharkan dengan kata kunci "abstrak" dan tidak mentakrifkan sebarang pelaksanaan. Mereka berfungsi sebagai pemegang tempat untuk kaedah konkrit yang mesti ditakrifkan dalam subkelas. Ini memastikan semua subkelas menyediakan antara muka dan gelagat yang konsisten.

Sebaliknya, kaedah statik diisytiharkan dengan kata kunci "statik" dan terikat kepada kelas dan bukannya objek. Ia boleh dipanggil walaupun tanpa membuat contoh kelas dan biasanya digunakan untuk fungsi utiliti atau pemalar.

Kaedah Statik Abstrak: Campuran Tidak Serasi

Apabila memikirkan kaedah statik abstrak, kita menghadapi percanggahan logik asas. Kaedah abstrak mencadangkan kontrak yang tidak dilaksanakan, manakala kaedah statik membayangkan kefungsian yang wujud. Adalah mustahil untuk mempunyai kaedah yang tidak dilaksanakan yang juga mempunyai pelaksanaan tetap.

Untuk menggambarkan ini, pertimbangkan kod tidak sah berikut:

abstract class foo {
    abstract void bar( ); // <-- This is allowed
    abstract static void bar2(); // <-- This is not allowed
}
Salin selepas log masuk

Bar kaedah() boleh menjadi abstrak kerana terdapat tiada pelaksanaan tetap. Subkelas akan menyediakan pelaksanaan konkrit mereka sendiri. Walau bagaimanapun, bar2() tidak boleh abstrak dan statik secara serentak. Menjadi abstrak akan membayangkan tiada pelaksanaan, manakala statik akan membayangkan kewujudan kefungsian terikat pada kelas.

Kesimpulan

Di Jawa, konsep kaedah abstrak dan statik kaedah adalah berbeza dan saling eksklusif. Kaedah abstrak mentakrifkan kontrak yang tidak dilaksanakan untuk subkelas, manakala kaedah statik menyediakan kefungsian peringkat kelas. Percubaan untuk mencipta kaedah statik abstrak mewujudkan ketidakkonsistenan logik, kerana ia akan membayangkan kaedah yang abstrak (tidak dilaksanakan) dan statik (mempunyai pelaksanaan tetap). Oleh itu, di Jawa, gabungan "abstrak" dan "statik" untuk kaedah tetap dilarang.

Atas ialah kandungan terperinci Mengapa Kaedah Statik Abstrak Dilarang 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