Q:
I was just wondering.. my understanding from everywhere I have read is interface cannot be private or protected (not at the top level) but when we declare an interface without any modifier it is default.
We know default modifier has more restricted access than protected.. public > protected > default > private
Now since an interface can be public and default then why not protected as clearly if they were allowed to be protected they could be implemented by a subclass..?
A:
While typing this question I figured how would an interface know which is it's subclass? that is why
Java allows only public i.e. any class can implement it or default i.e. any class within the package can implement.. am I right?