JavaStart
927 subscribers
888 photos
26 videos
596 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download 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
3👨‍💻3👍2
Какое ключевое слово запрещает переопределить метод в подклассе?
Anonymous Quiz
12%
static
67%
final
17%
private
1%
sealed
3%
Посмотреть ответ
4👍2🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6💯3👍1
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
🔥4👍3💯2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4💯3👍1
При использовании JUnit, какой метод жизненного цикла выполнится перед каждым тестовым методом?
Anonymous Quiz
1%
Посмотреть ответ
2👍2🔥1😁1👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍2👨‍💻1
Наследование в Java простыми словами. Часть 5.

Как запретить наследование в Java?

Запретить создание подкласса можно просто применив ключевое слово final. Если класс отмечен как final, то никакой класс не может унаследовать от него элементы.

В результате мы получим ошибку.

На Картинке класс Pet обозначен как final, поэтому класс Kitty не может получить от него ни поля ни переменные.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥32
Что вернёт метод?
Optional<Integer> opt = Optional.empty();
opt.orElseGet(() -> 42);
Anonymous Quiz
3%
null
21%
Optional[42]
7%
Исключение
53%
42
17%
Посмотреть ответ
🎉32👍2
Класс LocalDate в Java простыми словами. Часть 1.

Когда дело касается работы с датами в Java, класс LocalDate является незаменимым инструментом. Он предоставляет простой и удобный способ для представления даты без учета временной зоны и времени суток.

Класс LocalDate является частью пакета java.time и был введен в Java 8 для работы с датами без времени. Он представляет собой неизменяемый объект, который содержит год, месяц и день.

LocalDate не учитывает часы, минуты и секунды, что делает его идеальным для работы с календарными датами.

Создание объекта LocalDate.

Для создания объекта LocalDate используется статический метод of().

Например, чтобы представить дату 23 июля 2025 года, мы можем использовать следующий код:

LocalDate date = LocalDate.of(2025, 7, 23);

Операции с датами.

Класс LocalDate обладает множеством методов для выполнения различных операций с датами. Например, мы можем добавлять и вычитать дни, месяцы и годы, а также выполнять сравнение дат.

// Прибавляем 1 день к нашей дате
LocalDate tomorrow = date.plusDays(1);

// Прибавляем 1 месяц к нашей дате
LocalDate nextMonth = date.plusMonths(1);

// Отнимаем 1 год от нашей даты
LocalDate previousYear = date.minusYears(1);

boolean isAfter = date.isAfter(tomorrow);

boolean isBefore = date.isBefore(nextMonth);

boolean isEqual = date.isEqual(previousYear);

Если мы напишем в консоль:

System.out.println(isAfter);
System.out.println(isBefore);
System.out.println(isEqual);

То получим следующий вывод:

false
true
false

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁53👨‍💻1
Какая аннотация Spring помечает метод-слушатель событий?
Anonymous Quiz
3%
Посмотреть ответ
2👍2🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4💯4👍1
Знакомство с классом LocalDate в Java. Часть 2.

Форматирование и разбор даты.

Методы format() и parse() позволяют форматировать объект LocalDate в строку и обратно. Например:

// Создаём переменную date
LocalDate date = LocalDate.of(2025, 7, 23);

// Форматируем дату в строку по конкретному паттерну
String formattedDate = date.format(DateTimeFormatter.ofPattern("dd.MM.yyyy"));

// Получаем дату из переданной строки
LocalDate parsedDate = LocalDate.parse(
"23.07.2025",
DateTimeFormatter.ofPattern("dd.MM.yyyy")
);

System.out.println(formattedDate);
System.out.println(parsedDate);

Вывод переменных в консоль:

23.07.2025
2025-07-23

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👨‍💻32
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍3👨‍💻1
Какой метод Stream API завершит вычисления, как только найден первый элемент, удовлетворяющий условию?
Anonymous Quiz
3%
filter()
78%
findFirst()
16%
anyMatch()
1%
collect()
1%
Посмотреть ответ
👍32🎉2
Знакомство с классом LocalDate в Java. Часть 3.

Пример использования LocalDate на коммерческом проекте.

Допустим, у нас есть задача вычислить дату через два месяца от текущей даты и проверить, выпадает ли она на выходной день:

Введем переменную currentDate, которая будет соответствовать фиксированной дате (20 июля 2025). Введем переменную twoMonthsLater, которая будет соответствовать дате, которая старше нашей на 2 месяца.

Пропишем условие, которое будет проверять, выпадает ли наша новая дата twoMonthsLater на выходной день или нет (Картинка 1).

Чтобы получить конкретный день нашей новой даты, воспользуемся методом класса LocalDate - getDayOfWeek(), а также проверки нужного дня недели воспользуемся энамом DayOfWeek из того же пакета java.time. И сделаем сравнение (Картинка 2).

Вывод в консоль на Картинке 2.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥2👨‍💻1