I know that Java interface variables are by default public static and final.
I understood why they are static and final by seeing this discussion
But I didn't reason behind why interface variables are public by default.
If any one knows the reason behind why interface variables are always public and why can not we have a protected or default variables in an interface, kindly explain me.
Kindly don't ask me to google for it because I have been googling for it for more than two hours and there is no clear explanation from any site about why the variables are public by default.
I have seen the below blog also but there is no clear info about my query.