0

Java の継承について質問があります。Parent Child1 と Child2 の 3 つのクラスがあります。Child1 と Child2 はどちらも Parent メソッドのサブクラスです。

Class Parent
{
   private int money;
   public void setMoney(int a)
   {
    money = a;
   }

   public int getMoney()
   {
   return money;
   }
    public int calculate()
    {
        int x;
        x = getMoney +100;

    }
}

 

Child1 はユーザーから値を受け取り、親クラスの setMoney メソッドを使用します

 

import java.io.*;
import java.util.*;
Class Child1 extends Parent
{
   public void displayinfo()
   {
       int a;
       Scanner in = new Scanner(System.in);
       Child2 roll = new Child2();
       a = in.nextInt();
       super.setMoney(a);
       System.out.println(super.calculate());
       System.out.println(roll.calculate());
   }
}

私の質問は、Child2 が child1 からの入力値にどのようにアクセスできるかということです。子 2 にスーパークラスに追加の操作を追加してもらいたいのですが、そもそも値が初期化されていないかのように、child2 から 0 を取得します。

class Child2 extends Parent
{
    public int calculate()
    {
        int y = super.calculate() + 100
        return y;
    }
}

メインからChild1を呼び出しています

class test extends Pay
{

    public static void main(String arg[]) 
    {
    Child1 a = new Child1();
    a.displayinfo();
    }
  }

編集:コピーパスタは本物です

4

1 に答える 1

0

ここでの問題は、状態を共有しない 2 つのインスタンスがあることです。したがって、どちらも Parent からサブクラス化されていますが、各インスタンスは field に対して独自の値を持っていますmoney。タイプのインスタンスがChild1呼び出さsuper.setMoney(a)れると、それ自体の内部状態が更新されます。type のオブジェクトにはChild2独自の状態があり、 を呼び出した場合にのみ変化しますroll.setMoney(a)

于 2015-12-15T12:21:46.757 に答える