「Thinking in Java」を読んでいて疑問があります。「クラスの再利用」の章の「最終およびプライベート」セクションでは、プライベートメソッドをオーバーライドできないと述べています。しかし、私はマシンでそれを試しました。実際にはオーバーライドできます。
コードは次のとおりです。
class Amphibian {
private void print() { System.out.println("in Amphibian"); }
}
public class Frog extends Amphibian {
public void print() { System.out.println("in Frog"); }
public static void main(String[] args) {
Frog f = new Frog();
f.print();
}
}
それは印刷します:
カエルで