理解が進まず困っております。
以下のコードのような継承関係についてです。
メインクラスでサブクラスのインスタンスを生成。サブクラスはスーパークラスを継承しているのでサブクラスインスタンスからセッターメソッドを呼び出しても動く。ここまでは理解できます。この理解は間違ってないですよね?
そしてここでセッターに10を代入しています。しかし結果は0が表示される。
疑問①
なぜ10ではなく0が表示されるのか。
疑問②
getterメソッドは表示するためだけのものと考えてよろしいでしょうか。
疑問③
では10と表示させるにはどうしたら表示できるのか。
どうかお知恵をお貸しください。よろしくお願いします。
コード1 public class SuperClass{ private int num; public void setNum(int num){ this.num = num; } } コード2 public class SubClass extends SuperClass{ private int num; public int getNum(){ return this.num; } } コード3 public class Main { public static void main(String[] args){ SubClass sub = new SubClass(); sub.setNum(10); System.out.println(sub.getNum()); } }
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。