@Inherited is a marker annotation that can be used only on another annotation declaration. It affects only annotations that will be used on class declarations. @Inherited causes the annotation for a superclass to be inherited by a subclass.
@Override is a marker annotation that can be used only on methods. A method annotated with @Override must override a method from a superclass.
@Deprecated is a marker annotation. It indicates that a declaration is obsolete and has been replaced by a newer form.
@SuppressWarnings specifies that one or more warnings that might be issued by the compiler are to be suppressed. The warnings to suppress are specified by name, in string form. This annotation can be applied to any type of declaration.