長文失礼します・・・、以下のプログラムでつまずいてます。
Aを継承したB、Cクラスのインスタンスを作成し、スーパークラスであるA型の配列asにまとめます。
それからループでas[i]にはいっている各インスタンスのメソッドを使いたいのですが、
スーパークラスAにmethod()がないためコンパイルできません、Aにmethod()を作るとA.method()が実行されます。
BとCを同じ配列に保存し、かつそれぞれのmethod()を実行したい場合どのようにしたら良いのでしょうか。
どうぞご教授ください。

class Main{
private B b;
private C c;
private A[] as = new A[2];
void mainMethod(){
as[0] = b = new B();
as[1] = c = new C();
for(int i=0; i<2; i++){
as[i].method();
}
}
}

class A{}

class B extends A{
void method(){
System.out.print("It is B");
}
}
class C extends A{
void method(){
System.out.print("It is C");
}
}