Java中的四个权限修饰符

2021-11-11偶尔翻到牛客网中一道题目,就想解释的详细一点

如果一个接口Glass有个方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是? ( )

A.protected void setColor() { …}
B.void setColor() { …}
C.public void setColor() { …}
D.以上语句都可以用在类BlueGlass中

解析如下:

接口Glass有个方法setColor() 即我们可以知道public static final setColor();(权限修饰符为public)

A中权限修饰符为protected、B中权限修饰符为default、C中权限修饰符为public

权限修饰符 同一类内 同一包内 子 类 任何地方 private √ default(缺省) √ √ protected √ √ √ public √ √ √ √

子类的权限不能比父类更低 所以由上表可知 在类BlueGlass中修饰符只能为public或者更大

经验分享 程序员 微信小程序 职场和发展