Yöntemlere her zaman @OverrideVarsa, .
JDK 5'te bu, üst sınıfların geçersiz kılma yöntemleri, JDK 6 ve 7'de üst sınıfların geçersiz kılma yöntemleri ve arabirimlerin uygulama yöntemleri anlamına gelir. Bunun nedeni, daha önce de belirtildiği gibi, derleyicinin bir yöntemi geçersiz kıldığınızı (veya uyguladığınızı) ancak aslında yeni bir yöntem (farklı imza) tanımladığınız hataları yakalamasına izin vermesidir.
equals(Object)Vsequals(YourObject) , örneğin noktasında standart bir durum olmakla birlikte, aynı argüman arayüz uygulamaları için yapılabilir.
Arabirim yöntemlerinin uygulanmasına açıklama eklemenin zorunlu olmasının nedeninin JDK 5'in bunu bir derleme hatası olarak işaretlemesi olduğunu düşünürüm. JDK 6 bu ek açıklamayı zorunlu hale getirirse geriye dönük uyumluluğu bozar.
Eclipse kullanıcısı değilim, diğer IDE'lerde (IntelliJ), @Override ek açıklama, yalnızca proje JDK 6+ projesi olarak ayarlanmışsa arabirim yöntemleri uygulanırken eklenir. Eclipse'in benzer olduğunu düşünürdüm.
Ancak, bu kullanım için farklı bir ek açıklama, belki bir @Implementsek açıklama görmeyi tercih ederdim .