1. Gambaran keseluruhan
Dalam tutorial ringkas ini, kita akan melihat bagaimana menggunakan anotasi @Override .
2. @ Anotasi Override
Dalam subkelas, kita boleh mengganti atau membebani kaedah contoh. Overriding menunjukkan bahawa subkelas menggantikan tingkah laku yang diwarisi. Overload adalah apabila subkelas menambahkan tingkah laku baru.
Kadang-kadang, kita akan berlebihan secara tidak sengaja apabila kita sebenarnya ingin mengatasi. Sangat mudah untuk membuat kesilapan ini di Java:
public class Machine { public boolean equals(Machine obj) { return true; } @Test public void whenTwoDifferentMachines_thenReturnTrue() { Object first = new Machine(); Object second = new Machine(); assertTrue(first.equals(second)); } }
Anehnya, ujian di atas gagal. Ini kerana kaedah sama ini ialah memuatkan Objek # sama dengan tidak menimpanya.
Kami boleh menggunakan penjelasan @Override mengenai kaedah yang diwarisi untuk melindungi kami dari kesilapan ini.
Dalam contoh ini, kita dapat menambahkan penjelasan @Override di atas kaedah sama dengan :
@Override public boolean equals(Machine obj) { return true; }
Pada ketika ini, penyusun akan menimbulkan ralat, memberitahu bahawa kita tidak mengatasi sama seperti yang kita fikirkan.
Kemudian, kita dapat membetulkan kesilapan kita:
@Override public boolean equals(Object obj) { return true; }
Kerana betapa mudahnya memuat secara tidak sengaja, adalah cadangan biasa untuk menggunakan anotasi @Override pada semua kaedah yang diwarisi.
3. Kesimpulannya
Dalam panduan ini, kami melihat bagaimana anotasi @Override berfungsi di Java.
Kod sumber lengkap untuk contoh boleh didapati di GitHub.