JavaStart
942 subscribers
872 photos
26 videos
583 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Наследование в Java простыми словами. Часть 1.

Наследование в Java — механизм, который позволяет одному классу получить все элементы и свойства другого класса. Этот процесс также называют расширением, преобразованием или отношением «родитель-потомок».

Основные обозначения:

Суперкласс (родитель) — основной класс, от которого принимаются все элементы.

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

Зачем применяют наследование в Java?

Суть в том, что можно образовать новые классы, используя уже имеющийся код. При этом есть возможность добавить другие переменные в дочерний класс, получив при этом новый.

Синтаксис на Картинке.

Ключевое слово extends означает, что создается новый класс от уже имеющегося. Новый класс наследует имеющийся.

Из примера видно, что класс Apple создается из Fruit, при этом наследуются все его элементы. Так, Fruit — это класс-родитель, а Apple — класс-потомок.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Наследование в Java простыми словами. Часть 2.

Правила наследования. Обращение к методу родителя с помощью ключевого слова super.

Чтобы обратиться к методу родителя, нужно использовать ключевое слово super.

Давайте посмотрим на пример на Картинке. У нас есть класс Pet c public методом walk, который ничего не возвращает (void), но при этом выводит в консоль "I will walk".

Наследуемся от класса Pet классом Cow (корова). У коровы есть свой метод void moo(), который просто выводит в консоль “I will moo”.

Теперь создадим метод cowWalk(), а в нем вызовем уже существующий метод в классе Pet – void walk(), который выводит “I will walk”. Вызываем этот метод мы через ключевое слово super.

Таким образом класс наследник можно дополнять своими методами, а также иметь уже готовые методы от класса родителя.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Написать бывшей? А может лучше...

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Не все герои носят плащи

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Наследование в Java простыми словами. Часть 3.

Получение доступа к защищенным (protected) элементам и методам.

Если protected (защищен) стоит перед элементами и методами — это указание на то, что к ним можно обратиться из производного класса.

Как видно из примера на Картинке, у нас есть основной класс — Pet — с защищенными name и display. Также есть класс Kitty, который наследуется от класса Pet.
Чтобы обойти эту защиту, мы создали новый объект small класса Kitty и получили необходимый доступ к защищенному полю name и защищенному методу display класса Pet.

Частый вопрос с собеседований.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой алгоритм безопасности чаще всего применяют для шифрования паролей перед хранением?
Anonymous Quiz
27%
Base64
8%
MD5 без «соли»
48%
BCrypt (с солью и адаптивной сложностью)
6%
CRC-32
11%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой модуль поставляется с JDK и поддерживает работу с JSON без сторонних библиотек?
Anonymous Quiz
13%
java.json
4%
java.datatransfer
48%
В стандартном наборе такого модуля нет
29%
javax.json
7%
Посмотреть ответ
This media is not supported in your browser
VIEW IN TELEGRAM
Наследование в Java простыми словами. Часть 4.

В Java наследовать можно всего один класс, иными словами - в Java нет многократного наследования, оно возможно только от одного суперкласса.

ОШИБКА:

public class X extends Pet, Сow, Cat {
}

Наследуется все, кроме приватных переменных и методов.

В Java модификатор private сообщает о том, что классы-наследники не получат от родителя элементы с таким обозначением. Если вы попробуете произвести extends, компилятор выдаст ошибку.

Как переделать метод класса-родителя?

Override (переопределение) - мощный инструмент, который применяется, когда необходимо изменить или переопределить реализацию метода, полученного от суперкласса.

class Cow extends Pet{
@Override
public void walk (){
System.out.println ("I will run");
}

Важные моменты при использовании @Override:

– Переопределить можно только унаследованные методы;

– Название и параметры метода в родителе и наследнике – одинаковые;

– Методы с обозначением private не переопределяются.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое ключевое слово запрещает переопределить метод в подклассе?
Anonymous Quiz
13%
static
69%
final
14%
private
1%
sealed
2%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Java будет продолжать оставаться одним из самых популярных языков программирования, и разработчики на Java будут продолжать пользоваться высоким спросом и конкурентоспособными заработными платами.

Есть на это ряд причин. Давайте разберем:

1) Кроссплатформенность: Java является кроссплатформенным языком программирования, что означает, что программы, написанные на Java, могут запускаться на различных операционных системах без необходимости изменения исходного кода. Это делает Java востребованным для разработки мобильных приложений, веб-приложений и программного обеспечения на различных платформах.

2) Распространенность и стабильность: Java является одним из самых популярных языков программирования, который используется в различных областях, включая корпоративное программное обеспечение, финансовые системы, мобильные приложения, игры и многое другое. Эта популярность обеспечивает стабильный спрос на Java-разработчиков.

3) Богатая экосистема: Java имеет обширную экосистему с различными фреймворками, библиотеками и инструментами, которые значительно упрощают разработку сложных приложений. Это позволяет разработчикам на Java работать более эффективно и быстрее.

4) Надежность и безопасность: Java известна своей высокой надежностью и безопасностью. Она предоставляет механизмы для управления памятью, обработки исключений и контроля доступа к ресурсам, что делает ее предпочтительным выбором для критических систем и проектов, где безопасность играет важную роль.

5) Поддержка и обновления: Java активно поддерживается и обновляется Oracle и широким сообществом разработчиков. Это обеспечивает регулярные улучшения, исправления ошибок и внедрение новых функций, что позволяет приложениям на Java быть актуальными и современными.

6) Высокий спрос на рынке: В связи с распространенностью Java и широким спектром ее применения, опытные Java-разработчики всегда будут востребованы на рынке труда. Высокий спрос обычно ведет к более высоким заработным платам и лучшим условиям труда для разработчиков.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM