Java: разница между A x = new A () и A x = new B (), когда B расширяет A [дубликат]

Возможный дубликат:
наследование Java - пожалуйста, объясните

Я изучаю Java, и у меня есть два вопроса:

В чем разница между:

A x = new A();

а также

A x = new B();

Учитывая, что:

class A
class B extends A

Какая разница между:

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

Допустим, что и A, и B имеют функциюrun_functionкакой из них будет выполнен?

Ответы на вопрос(6)

Ваш ответ на вопрос