【java】簡単な目標達成?

とりあえず、1種類だけ動物を記入できるようにした。

一番引っかかったのはextendする時。
スーパークラスのメンバ?にstaticをつけないと、次のクラスに動作が移ったときに値が所持されていなかった…。
あとは、何故か平仮名2文字入力したときに2文字目が文字化けする・・。なぜ…。
staticにしなくていいきがする+検索かけたサイト達はstaticにしていないので何か問題があるとおもうのだが…。

import java.io.IOException;

public class test {

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		// TODO 自動生成されたメソッド・スタブ

		//		Dog pochi = new Dog();
		//System.out.println(pochi.Setvoice(null));

		Animal animal = new Animal();
		animal.animal();


	}
}

import java.io.IOException;


public class Animal{
 static String family;

	public void animal() throws IOException{
		String question="何科の動物?";

		Question say_question = new Question();

		family = say_question.question(question);
		CalledAnimal calledanimal = new CalledAnimal();
		calledanimal.calledanimal();

	}



}

import java.io.IOException;



public class Question {
	Breader breader = new Breader();

	public String question(String question) throws IOException{
		String answer = breader.breader(question);

		return answer;
	}

}

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Breader {
	public String breader(String question) throws IOException{
		System.out.println(question);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String answer = br.readLine();
		return answer;

	}
}

import java.io.IOException;


public class CalledAnimal extends Animal{
	String name;
	String favorite;



	public void calledanimal() throws IOException{
		Question question = new Question();

		name = question.question("動物名は?");
		favorite = question.question("好物は?");
		System.out.println(family);
		showall(name, favorite);
	}

	public void showall(String name,String favorite){
		System.out.println(family);
		System.out.println("科: "+family);
		System.out.println("動物名: "+name);
		System.out.println("好物: "+favorite);

	}


}