Java @Override Annotation

1. Ikhtisar

Dalam tutorial singkat ini, kita akan melihat cara menggunakan anotasi @Override .

2. Anotasi @Override

Dalam subclass, kita dapat mengganti atau membebani metode instance. Mengganti menunjukkan bahwa subclass tersebut menggantikan perilaku yang diwariskan. Overloading adalah saat subclass menambahkan perilaku baru.

Terkadang, kami akan membebani secara tidak sengaja saat sebenarnya kami bermaksud untuk menimpanya. Kesalahan ini mudah dilakukan 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, pengujian di atas gagal. Ini karena metode sama ini membebani Objek # sama , bukan menimpanya.

Kita dapat menggunakan anotasi @Override pada metode yang diwariskan untuk melindungi kita dari kesalahan ini.

Dalam contoh ini, kita dapat menambahkan anotasi @Override di atas metode sama dengan :

@Override public boolean equals(Machine obj) { return true; }

Pada titik ini, kompilator akan memunculkan kesalahan, memberi tahu kita bahwa kita tidak menimpa sama seperti yang kita pikirkan.

Kemudian, kami dapat memperbaiki kesalahan kami:

@Override public boolean equals(Object obj) { return true; }

Karena betapa mudahnya kelebihan muatan secara tidak sengaja, merupakan rekomendasi umum untuk menggunakan anotasi @Override pada semua metode yang diwariskan.

3. Kesimpulan

Dalam panduan ini, kami melihat cara kerja anotasi @Override di Java.

Kode sumber lengkap untuk contoh dapat ditemukan di GitHub.