I protected sono visibili alle classi dello stesso package e alle sotto classi di quella in cui sono dichiarati tali.

Se cosi fosse, se si crea un progetto non è meglio dichiarli sempre protected invece che public?
Come faresti poi ad accedere ad un metodo di una classe di un altro package?