多態性について質問です

https://paiza.io/projects/UevdJ8eMt3M3RHe7IEHBPQ
上のコードで、24行目のa.method();を実行した際に、
なぜサブクラスのメソッドが呼ばれるのか分かりません
確かに参考書にはそう書いてあるのですが、21行目のA a = b;を
実行した瞬間に変数aはサブクラスの情報がそぎ落とされてしまうような気が
するのですが…