我想从这个类提供这种保护方法的一个子类中调用另一个实例的保护方法。 请看下面的例子:
public class Nano {
protected void computeSize() {
}
}
public class NanoContainer extends Nano {
protected ArrayList<Nano> children;
}
public class SomeOtherNode extends NanoContainer {
// {Nano} Overrides
protected void computeSize() {
for (Nano child: children) {
child.computeSize(); // << computeSize() has protected access in nanolay.Nano
}
}
}
javac
告诉我, computeSize() has protected access in Nano
。 我看不到这样做的原因(我想我已经在其他一些代码这样做)。 我想保持这种方法受到保护,我该怎么办?
javac version "1.7.0_09"
编辑
我想提供一个精简版,但我没想到这样的事实,即类处于不同的包。
nanolay.Node
nanolay.NanoContainer
nanogui.SomeOtherNode