Near the bottom of page 115, they state that "The public modifier is required if you want the interface to have public rather than default access". However, in the two-minute drill on page 133, they state that "Interfaces are by default public and abstract - explicit declaration of these modifiers is optional."
These seem to be contradictory statements to me. I have checked the errata, and there's no mention. Am I missing something?
Suppose the first statement was true, and the interface had default (package) access if it wasn't explicitly declared public. Wouldn't all the constants and methods also have default (package) access, instead of public? But the two minute drill states that constants and methods are implicitly final.
Can anyone clarify this for me?
Thanks,
Ross.