Java: Unterschied zwischen A x = new A () und A x = new B (), wenn B A [duplizieren] erweitert

Mögliche Duplikate:
Java-Vererbung - bitte erklären

Ich lerne Java und habe zwei Fragen:

Was ist der Unterschied zwischen:

A x = new A();

und

A x = new B();

Bedenkt, dass:

class A
class B extends A

Was ist der Unterschied zwischen:

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

Nehmen wir an, dass sowohl A als auch B die Funktion habenrun_function, welches wird ausgeführt?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage