Как устранить эту ошибку в стиле проверки
Method 'getUserDAO' is not designed for extension
в
public UserDAO getUserDAO() { return userDAO; }
Инструмент говорит вам, что публичные методы должны быть окончательными. Таким образом, подкласс не сможет изменить работу класса.
public final UserDAO getUserDAO() { return userDAO; }