Record2の
Scannerを引数とするinitメソッドを、
Record3でオーバーライドする例です。
そして、これを利用し、
Scannerを引数とするコンストラクタも
Record3クラスに追加します。
この変更後のクラス図を
右記に示します。
赤の部分が追加するメソッドです。
以下にこの
Record3クラスに追加するするコードを
示します。
	//商品コードと数量、単価をキー入力するオバーライドメソッド
	public void init(java.util.Scanner stdin)
	{
		super.init(stdin);// スーパークラスのinitを呼び出す
		//この場合はsuperを省略でません。省略すると、
		//自身を呼び出す(再帰)ため無限ループなり、StackOverflowErrorの実行エラーになる
		System.out.print("  単価>>");
		String s = stdin.nextLine();
		tanka = Integer.parseInt(s);
	}
	//商品コードと数量、単価をキー入力で生成するコンストラクタ
	public Record3(java.util.Scanner stdin)
	{
		init(stdin);//商品コードと数量、単価をキー入力
	}
上記の追加メソッドを確認するためのプログラムを、Test.javaで作成して、 その実行結果を示します。
D:\java>java Test
Record3をキー入力生成
  商品コード>>A10
  数量>>10
  単価>>100
   1番目レコード
        商品コード:A10
        数量:10
        単価:100
キー入力で変更
  商品コード>>B20
  数量>>20
  単価>>200
   1番目レコード
        商品コード:B20
        数量:20
        単価:200
Record2を生成して、キー入力で変更
  商品コード>>C30
  数量>>30
   1番目レコード
        商品コード:C30
        数量:30
D:\java>
上記の実行ができるプログラムを以下に示します。
■■■■の部分を正しく直して完成させましょう。 
←正しく修正してからクリックください。
  	←わからない場合は、クリック