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或者更大