この保護されたメソッドを提供するクラスのサブクラス内から別のインスタンスの保護されたメソッドを呼び出したい。次の例を参照してください。
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