Método protegido de llamada desde una subclase de otra instancia de paquetes diferentes
Quiero invocar un método protegido de otra instancia desde una subclase de la clase que proporciona este método protegido. Vea el siguiente ejemplo:
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
me dice quecomputeSize() has protected access in Nano
. No puedo ver la razón de esto (pensé que ya estaba haciendo esto en algún otro código). Me gustaría mantener este método protegido, ¿qué puedo hacer?
javac version "1.7.0_09"
EditarQuería proporcionar una versión reducida, pero no pensé en el hecho de que las clases se encuentran en paquetes diferentes.
nanolay.Node
nanolay.NanoContainer
nanogui.SomeOtherNode