Java:使用接口了解访问权限

时间:2013-11-07 05:41:01

标签: java scjp

1    public interface Word { boolean isSpelled(String w); }
2    
3    abstract class Verb3 implements Word {
4       boolean isSpelled(String w) { return true;}
5    }

这是来自OCJP模拟测试的问题。上面的代码将返回第4行的错误,答案说Verb3类无法尝试为isSpelled()方法分配较弱的访问权限。

任何人都知道这意味着什么?

此外,在实现接口时,访问权限是否应该取决于接口中声明的方法?例如,

1    public interface Word { public boolean isSpelled(String w); }

使用public或default(在这种情况下无访问修饰符)将允许您访问或覆盖该方法。 如果我错了,请纠正我。感谢。

1 个答案:

答案 0 :(得分:5)

默认情况下,在接口中声明一个方法public。但是当你在任何类中定义它时,如果你没有指定访问修饰符default。在实现接口时,您无法为重写方法分配较弱的访问权限。 实现接口方法时,必须将其声明为public