JavaRush/Курсы/Java Syntax Pro Beta/Дополнительные лекции к уровню

Дополнительные лекции к уровню

Открыта

Отношения между классами. Наследование, композиция, агрегирование

В программировании вы быстро поймете, как важно не писать лишний объем кода. К счастью, в Java есть все необходимое, чтобы изящно «сокращать». В этой лекции наглядно описаны отношения между классами: наследование, композиция, агрегирование. Приготовьтесь: будет много интересных примеров.

Принципы инкапсуляции

Инкапсуляция, сокрытие — это разные понятия или одно и то же? В базовом виде вы уже сталкивались с инкапсуляцией не раз. Если хотите знать, как «спрятать» от пользователя сложные механизмы работы вашей программы и оставить на виду только удобный интерфейс, советуем внимательно прочесть эту лекцию.

Практика использования полиморфизма

Главное преимущество полиморфизма — гибкость. С одной стороны, вы можете работать с несколькими типами данных так, будто это один тип. С другой стороны, благодаря этому принципу вы можете сохранять поведение объектов. Когда вам пригодится приведение к единому виду, а когда — уникальные характеристики? Об этом и поговорим.

Для чего в Java нужны интерфейсы

В этой лекции без спешки и подробно описано, что такое интерфейсы и почему они появились в языке. А еще вы узнаете о популярных интерфейсах в Java. Приготовьтесь, это тема с продолжением!

Разница между абстрактными классами и интерфейсами

В этой лекции поговорим о том, чем абстрактные классы отличаются от интерфейсов и рассмотрим примеры с распространенными абстрактными классами.

Мы посвятили отличиям абстрактного класса от интерфейса отдельную лекцию, так как тема очень важная. О разнице между этими понятиями вас спросят на 90% будущих собеседований. Поэтому обязательно разберитесь с прочитанным, а если что-то поймете не до конца, почитайте дополнительные источники.


Комментарии (124)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Grigoryvvv
Уровень 28
Expert
20 июля, 07:29
20.07.2026 / 18 уровень
Anna Klushkina
Уровень 2
6 февраля, 15:18
⛏️ С очень большими перерывами, но уровень добит!)
Anonymous #3585174
Уровень 33
22 июля 2025, 09:21
like
Артур
Уровень 12
29 мая 2025, 09:18
Формулировка (выберите неверное утверждение) угнетает.
Riga Android Developer
1 мая 2025, 16:44
9/10, не знал, что переменной класса наследника нельзя присвоить ссылку на обьект родительского класса, думал, что через приведение типа можно.
Exaltyr777
Уровень 25
6 августа 2025, 19:10
там же попался кст
6 апреля 2025, 11:18
Пупупу... изучаем Java Code Convention -> OOP -> SOLID -> GRASP -> GOF
11 февраля 2025, 14:29
Что нельзя делать с абстрактным классом? (выберите неверное утверждение) один я читаю это как выберите то, что с абстрактным классом делать можно? Формулировка убогая, скобки и то, что внутри них нужно удалять, если нужно выбрать то, что с абстрактным классом делать нельзя в вопросе нужно оставить только это: Что нельзя делать с абстрактным классом? С этим вопросом не то, примерно то же: Что нельзя делать с интерфейсом? (выберите неверное утверждение) Оставить надо только это: Что нельзя делать с интерфейсом?
Cryptosin Crypto Magnat
15 февраля 2025, 16:05
один я читаю это как выберите то, что с абстрактным классом делать можно?
видимо да, я прочитал именно так, как написано в условии делать можно 3 пункта, а запрещен один. по-моему "что можно делать" и "что запрещено делать" - это абсолютно разные понятия делать можно все, что не запрещено. PS вопросы и тема для меня очень легкая. с 1го раза 10/10
17 февраля 2025, 04:01
ну в принципе ты очень умный получается)
w5277c
Уровень 32
6 декабря 2024, 09:39
Что нельзя делать с абстрактным классом? (выберите неверное утверждение) Перечислены варианты, которые делать можно. И как выбирать???
Antariko
Уровень 1
27 декабря 2024, 09:38
Так вроде же нельзя создавать объекты абстрактного класса
w5277c
Уровень 32
10 января 2025, 07:39
Похоже я сильно туплю и не понимаю формулировки. Можно подробнее? О чем речь?
Bugfix System Engineer
13 января 2025, 14:00
Объекты абстрактного класса создавать нельзя.
20 января 2025, 13:58
Нельзя создать экземпляр абстрактного класса через new, так как у него не будет реализации методов. Не знаю какой абстрактный класс привести в пример, поэтому покажу на интерфейсе:
List<String> list = new List<>();
Нужен класс, в котором есть реализация абстрактных методов. В этом примере - класс, который реализует интерфейс
List<String> list = new ArrayList<>();
RustamJava Developer в t.me/jroom_chatStudent
18 октября 2024, 20:23
Интерфейсы удивили, надеюсь ещё будем говорить о ООП. Тема классная 👍
Sergo
Уровень 22
12 октября 2024, 15:22
3/10 чет вообще не улеглось у голове, буду перечитывать все заново
Styuart
Уровень 43
30 декабря 2024, 15:45
такой же результат и такая же ситуация....