我想从提供此受保护方法的类的子类中调用另一个实例的受保护方法。请参见以下示例:
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