Suppose a class has public visibility. In this class we define a protected method. Which of the following statements is correct ?
A. From within protected methods you do not have access to public methods.
B. This method is only accessible from inside the class itself and from inside all subclasses.
C. In a class, you cannot declare methods with a lower visibility than the visibility of the class in which it is defined.
D. This method is accessible from within the class itself and from within all classes defined in the same package as the class itself.