javaのお勉強。抽象クラスで宣言→new は継承したクラス

こういった場合はinterfaceも使った方がいいのだろか

public class Test {

	private A a;// class A で宣言

	public static void main(String[] args) {
		new Test();
	}

	public Test() {
		a = new A2();// A2 で new
		a.a();
	}

}

class A2 extends A {
	public void a() {
		super.a();
		System.out.println("A2.a()");
	}
}

abstract class A {

	public void a() {
		System.out.println("A.a()");
	}
}
//result
A.a()
A2.a()