Jenis Pulangan Kovarian dalam Kaedah Overriding
Kaedah overriding dalam Java boleh berbeza dalam jenis pulangannya, dengan syarat syarat tertentu dipenuhi. Khususnya, Java menyokong jenis pulangan kovarian, membenarkan kaedah mengatasi mempunyai jenis pulangan yang lebih spesifik daripada kaedah yang ditindihnya.
Menurut bahagian Spesifikasi Bahasa Java (JLS) 8.4.5, ini dibenarkan selagi kerana peraturan berikut dipatuhi:
- Jika kaedah asal mengembalikan batal, kaedah mengatasi mesti juga kembali batal.
- Jika kaedah asal mengembalikan jenis primitif, kaedah mengatasi mesti mengembalikan jenis primitif yang sama.
-
Jika kaedah asal mengembalikan jenis rujukan:
- Jenis pemulangan kaedah mengatasi mestilah subjenis pemulangan kaedah asal taip.
- Sebagai alternatif, jenis pemulangan kaedah mengatasi boleh terhasil daripada penukaran yang tidak ditandai bagi jenis pemulangan kaedah asal, atau
- Jenis pemulangan kaedah mengatasi boleh menjadi pemadaman jenis pemulangan kaedah asal ( selepas parameter jenis generik dialih keluar).
Sebagai contoh, pertimbangkan kod berikut:
class ShapeBuilder { ... public Shape build() { .... } } class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { .... } }
Dalam contoh ini, kaedah bina() dalam CircleBuilder mengatasi kaedah bina() dalam ShapeBuilder. Jenis pengembalian kaedah yang ditindih ialah Bentuk, manakala jenis pengembalian kaedah yang ditindih ialah Bulatan, yang merupakan subjenis Bentuk. Ini dibenarkan oleh peraturan jenis pulangan kovarian Java.
Atas ialah kandungan terperinci Bilakah Kaedah Overriding di Java Mempunyai Jenis Pulangan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)