Why does java provide a protected access modifier? to hide methods from the client classes to hide fields from client classes to inherit fields and methods by subclasses all of these are correct