在做项目的过程中,突然有一个疑问,就是很多时候接口中的方法并没有任何访问限制。若依过往经验推断,说明此方法与类的默认访问属性相同,即包访问可见。但心里总觉得此种解释不甚合理,经过查阅资料明白,在接口声明中,所有方法自动都是public。并且,在实现接口的方法时,必须把方法声明为public,否则编译器会将此方法认为是包访问可见,就会给出试图提供更弱的访问权限的警告。
有些程序员出于习惯或提高清晰度的考虑,都将接口方法标记为public,将域标记为public static final。但java语言规范却建议不要写这些多余的关键字,本人也赞同这种简洁的写法。