2016-10-10 2 views
-6

У меня есть два класса java: один класс Super, а другой - базовый класс. Это означает, что базовый класс наследует суперкласс. Я понимаю эту концепцию. Мое сомнение: «Если я выполняю или запускаю базовый класс ALONE, выполняется ли надкласс?».Java - это суперкласс, выполняемый во время работы подкласса

Я хочу знать, выполняется ли класс Super или нет, если я выполняю только базовый класс.

+2

Classes do ** нет ** пробег. Вы вызываете ** методы **; и для них есть ** хорошо задокументированные ** правила, как полиморфизм пинает. – GhostCat

+1

Я думаю, что у вас ложная концепция объектной ориентации. Классы (или, скорее, объекты) не выполняются. Вы можете вызывать методы для объектов или устанавливать атрибуты. И, кроме того, «во время работы ...» подразумевает, что вы считаете, что существует какой-то параллелизм. – Turing85

+0

Во время создания экземпляра (вызов нового ...) вызывается конструктор по умолчанию (без аргументов) базового класса, если нет конструктора по умолчанию или вы хотите использовать другой, вам нужно явно вызвать родительский конструктор, используя super(), как первый в конструкторе вашего дочернего класса. –

ответ

0

https://www.sitepoint.com/interface-and-inheritance-in-java-inheritance/ чтения

BaseClass также суперкласс, что вы думаете. Наследование означает, что у ребенка уже есть все атрибуты/свойства/методы_и_переменные, которые имеют родители, если они находятся в одном пакете. Ребенок может делать все, что может, и что может сделать родитель, наследуя его. Поэтому родителям больше не нужно бегать, потому что ребенок уже знает, что может сделать родитель.

Если вы выполняете родительский элемент, дочерний элемент не выполняется, а родительский элемент не имеет дочерних атрибутов. Если вы выполняете дочерний процесс с наследованием к родительскому. Ребенок выполняется с атрибутом родителей, но сам родитель не является.

0

Во время создания экземпляра (вызов нового ...) вызывается конструктор по умолчанию (без аргументов) базового класса, если нет конструктора по умолчанию или вы хотите использовать другой, вам нужно явно вызывать родительский конструктор, используя super () как первый оператор в конструкторе вашего дочернего класса. Также называются нестатические блоки инициализации, а также переменные. Это то, что можно назвать «запуском родительского класса». Существует также статическая инициализация - статические блоки инициализации и инициализация статических переменных, которые выполняются до того, как класс будет впервые использован.