interface中(default)方法的访问权限

public interface A{
    void a();
}
public class B implements A{
     protected void a(){
    }
}
这样子会报错: cannot reduce visibility of the inherit method from A  ,不能降低继承方法的可见性,有什么合理的解释吗,A中的方法到底是public 还是default的访问权限?
全部评论
java接口方法默认都是public 即使不加indentifier
点赞 回复 分享
发布于 2016-04-13 01:23
比较了一下字节码,如果是改变interface的修饰(public or default),字节码文件变了,如果是改变方法的修饰符,却没有变,看来正如上面仁兄说的接口方法默认也是public的,而接口默认和显式public是不同的
点赞 回复 分享
发布于 2016-04-12 11:33
接口中方法不都是默认public吗。。
点赞 回复 分享
发布于 2016-04-12 11:07

相关推荐

不愿透露姓名的神秘牛友
07-11 15:08
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 11:15
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务