@NotNull это аннатоция из пакета javax.validation. Для запуска валидации необходимо использовать валидатор, например:
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();
MyClass myClass = new MyClass();
Set<ConstraintViolation<MyClass>> constraintViolations = validator.validate(myClass)
И дальше уже просатривать полученный сет на предмет имеющихся предупреждений.
Автоматическое проведение валидации осуществаляется в некоторых фреймворках, напримр в Hibernate при персисте объектов:
entityManager.persist(myClass);
Об аннотации @Override можете прочесть в ответе на данный вопрос Что означает "@Override" перед объявлением метода?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости