java接口中的方法和变量为啥都必须是public?

假如这个接口A是public 的,那么其他包里的类B就可以实现这个接口A, 实现本身就隐含的包括了继承,那么为啥A中的方法不能是protected呢?因为类B可以覆盖A中的protected方法啊。

请各位帮忙分析下,谢谢!

http://www.cnblogs.com/dolphin0520/p/3811437.html

public也可以覆盖。既然是接口,那么就必须暴露出来,否则还叫什么接口。

假如你引用第三方的jar 呢?

public可以被其他package里的class调用呀