hmmm, interesting... I had this funny idea in my head that top level interfaces are implicitly
public, apparently i was wrong :roll: and it turns out that top level interfaces can indeed be
default. Thanks for making me realize that.
Now back to your thoughts...
first of all, methods are declared in the interface, but only defined in the implementing class.
Your statement is correct, however
you should note that a class that implements an interface have the option not to implement all the methods in that interface, provided it is declared abstract.
Second, if we restrict the access level of the implementing class to default, then all these implemented methods (public though) can only be accessed by classes of the same package.
As you adequately put: "if a class can not be accessed, its members can not be accessed"
Sorry for the confusion I caused.