Dobry wieczór,
Dziś uczę się nowej rzeczy w świecie Javy. Tą rzeczą są adnotacje. Dowiedziałem się, że stosuję się w celu dod. informacji dla kompilatora, przetwarzane w trakcie kompilowania, uruchomienia programu.
Zadaniem podsumowania było napisanie pewnej adnotacji @MyDocumention przyjmującej elementy author oraz comment. I było trzeba odczytać adnotację w trakcie działania programu. Ale po co w ogóle pisać np. kto jest autorem metody itd. Druga sprawa adnotacja @Override. Jak ona jest zbudowana, że sprawdza czy dana metoda przesłoniła metodę w nadklasie? W kursie było coś takiego:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
Ale wydaję mi się, że jest to niepełna definicja tej adnotacji, bo niby jak kompilatorek ma sprawdzać przesłonięcie metod? Tak samo w przypadku adnotacji @SuppressWarnings. Przekazujemy element "unchecked" i ot kompilator już nie daje powiadomień o "zagrożeniach". Przecież on nam nie czyta w myślach... Dziękuję za wyjaśnienie.