現在、Java Slverの勉強をしています。
下記の継承に関する問題について、考え方があっているか確認したいため、質問させていただきます。
java
1public class A { 2 int num = 10; 3 public double getValue(){ 4 return 0.0; 5 } 6}
java
1public class B extend A { 2 @Override 3 public double getValue(){ 4 return 1.0; 5 } 6} 7
java
1public class C extends B { 2 @Override 3 public double getValue(){ 4 System.out.println(super.num); 5 return super.getValue(); 6 } 7}
上記のコードで、Cクラスから、getValueメソッドでAクラスのフィールドにアクセスすることができる理由について。
Cクラスから、getValueメソッドでAクラスのフィールドにアクセスすることができるのは、super.numで、Bクラスに継承されているAクラスのnumにアクセスできるから、という認識であっていますでしょうか。
また、BクラスはAクラスから派生しているので、numフィールドを継承していますが、
Bクラスから派生したCクラス自体はnumフィールドは継承していない、という認識であっていますでしょうか?
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー