这个B是父类为什么可以发生向下转型?向下转型不是应该写”X“子类吗?向上转型为什么可以写子类?

问题遇到的现象和发生背景

img

img

img

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

B b=(B)a
怎么是向下转型呢,明显是向上转型啊
别说B是接口,没有继承关系,只是实现
就算B是父类,子类转父类根本不需要强制转换啊,B b=a就行了