理解的 这个不是父类指向子类 怎么是子类实例化向父接口转型呢??
父类:A
子类:B
对象:c
A c = new B();
先简单给你说一下子类和父类的关系吧。子类是继承了或实现了一个类的,在 Java 里,子类就拥有了父类的一些方法、属性啥的(不包含私有的,但是对外公开的是都有的),然后子类一般都会在父类的基础上做一些扩展,或者修改(要不然继承它干嘛呢)。
所以我们就可以得出一个结论,父类有的子类就有,子类有的父类不一定有。所以说就可以把子类转成父类来用,并且是可以安全的进行向上转型的。
但是如果要把父类转成子类的话,因为编译器判断不了复杂的场景,所以需要用上强转,就说明它不一定安全。