Java: diferencia entre A x = nuevo A () y A x = nuevo B () cuando B extiende A [duplicado]

Posible duplicado:
herencia java - por favor explique

Estoy aprendiendo Java y tengo dos preguntas:

Cuál es la diferencia entre:

A x = new A();

y

A x = new B();

Teniendo en cuenta que:

class A
class B extends A

Cuál es la diferencia entre:

A x = new B();
(A)x.run_function();

Digamos que tanto A como B tienen la funciónrun_function¿Cuál será ejecutado?

Respuestas a la pregunta(6)

Su respuesta a la pregunta