-1
楽しいことに、保護された変数がコンパイルエラーを引き起こすシナリオを考えようとしています。 Fruitから継承するクラスFruitとクラスAppleがあるとします。仮に、スーパークラスに保護された変数を追加すると、Javaでエラーが発生するのはなぜですか?
次に、Fruitに保護された変数xを追加すると、プログラムがコンパイルされなくなります。このような場合、エラーの原因は何でしょうか?
楽しいことに、保護された変数がコンパイルエラーを引き起こすシナリオを考えようとしています。 Fruitから継承するクラスFruitとクラスAppleがあるとします。仮に、スーパークラスに保護された変数を追加すると、Javaでエラーが発生するのはなぜですか?
次に、Fruitに保護された変数xを追加すると、プログラムがコンパイルされなくなります。このような場合、エラーの原因は何でしょうか?
x
は、問題なくApple
に継承されます。 Fruit
またはApple
のいずれかで使用できます。オーバーライドしたり、セッターやゲッターを実装することもできます。
私はそれが起こるとは思わない。彼らは意図的に[フィールド・ハイディング](https://docs.oracle.com/javase/tutorial/java/IandI/hidevariables.html)を実装しました。 – Andreas