Từ Hướng dẫn Java trên annotations:
@Override
- các @Override
chú thích thông báo cho trình biên dịch rằng phần tử có nghĩa là để ghi đè lên một yếu tố khai báo trong một lớp cha (trọng phương pháp này sẽ được thảo luận trong bài học có tiêu đề "Giao diện và Thừa kế").
// mark method as a superclass method
// that has been overridden
@Override
int overriddenMethod() { }
Trong khi nó không cần thiết để sử dụng chú thích này khi trọng một phương pháp, nó giúp ngăn ngừa sai sót. Nếu phương thức được đánh dấu bằng @Override
không thể ghi đè chính xác phương thức ở một trong các lớp bậc trên , trình biên dịch sẽ phát sinh lỗi.
Hãy xem ví dụ được đưa ra trong thông số kỹ thuật Ngôn ngữ Java, 9.6.1.4 Override. Hãy nói rằng bạn muốn ghi đè lên một phương pháp, equals
trong trường hợp đó, nhưng bạn đã viết:
public boolean equals(Foo that) { ... }
thay vì:
public boolean equals(Object that) { ... }
Trong khi mã này là hợp pháp, chú thích việc kê khai equals
phương pháp với @Override
sẽ kích hoạt một lỗi thời gian biên dịch bởi vì bạn đang ở trong thực tế không ghi đè nó, bạn đang quá tải nó. Điều này có thể gây ra các lỗi khó chịu và loại chú thích Override
giúp phát hiện sớm chúng.
Nguồn
2010-03-22 04:11:50
Trùng lặp: http://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why –