求问Java大神几个小问题:1:为什么在一个Java类文件中,不能为interface指定修饰符?而在类文件中的一个类中的内部interface却可以指定修饰符?2:为什么在一个实现了interface中的方法的类中的这个方法必须是public ?如果不申明为public IDE会提示说实现的这个方法指定了更低的访问权限,但如果是一个内部类实现的一个内部private interface中的方法,不申明的访问权限为什么也是降低了?
调试欢乐多
b.f(); // 1
Derived d = (Derived) b;
d.f(); // 2在Java中只要1能够执行,那么2就一定能执行,这保证了一个对象作为派生类身份时不会丧失一些能力。(“鸟”能飞但是“丑小鸭”却不能飞了……)
很对
所以在实现的过程中,子类方法不能比父类方法设定更小的访问权限
所以实现类必须写上public 接口中为什么不写 因为是默认的
interface里的方法是抽象的。只能是public修饰子类才能实现它。
java里的规则。无它