| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Основы Java |
| Автор: vanam 26.3.2015, 11:55 | ||
| Изучаю Java. Однако не могу освоить самого простого - создание объектов. Для примера:
Shape s=new Circle(); - s будет ссылкой на какой объект? • new Circle() – создаст и инициализирует объект Circle, то есть фактически выделит память под int square и int radius и инициализирует их значениями «5». • s – будет содержать ссылку на вновь созданный объект, то есть на область памяти с данными (полями). А значит s ссылка на объект Circle. • Shape s – указывает, что s ссылка на объект типа Shape. Соответственно и методы доступны только базового класса. А значит s ссылка на объект Shape. • s.draw() – отрабатывает метод класса Circle. А значит s - объект с полями Circle, доступными методами Shape, но отрабатывают методы Circle. |
| Автор: sgrey 26.3.2015, 22:49 |
| судя по коду проблема с наследованием, а не созданием объектов. Материалов и статей про наследование полно, а также все учебники его описывают |
| Автор: Pawl 27.3.2015, 07:26 | ||||
Это называется "механизм позднего связывания":
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Osnovy-Java-id5513c9e0ae2015d2158b4567#findElement_E7045_5514dbf0ae20154a0f225e3c_0 |