levando em consideraçao que B extends A quando eu faço:
public static void main(String[] args) {
A p0 = new A();
B p1 = new B();
p1 = (B)p0; // B e instanciado implicitamente como se fosse p1 = new B()?
E curiosidade pra saber se é feito isso mesmo