👍4
Модификатор
abstract в Java используется для объявления абстрактных классов и методов.Абстрактный класс — это класс, который не может быть создан напрямую (нельзя создать его объект). Он может содержать как абстрактные методы (методы без реализации), так и обычные методы с реализацией.
Класс Shape объявлен как абстрактный, поэтому объекты этого класса создать нельзя. Он содержит абстрактный метод calculateArea(), который не имеет реализации. Абстрактные классы часто используются для описания общих характеристик классов-наследников, оставляя конкретную реализацию некоторых методов (как calculateArea()) для них.
Абстрактный метод объявляется без реализации и должен быть реализован в подклассах.
Например, в абстрактном классе Shape метод calculateArea() не имеет тела. Этот метод должен быть реализован в любом классе, который наследует Shape.
Подклассы, такие как Circle, должны либо реализовать все абстрактные методы родительского класса, либо сами стать абстрактными.
В нашем примере класс Circle наследует Shape и реализует абстрактный метод calculateArea(). Теперь при создании объекта класса Circle метод calculateArea() будет вызываться для расчёта площади круга. Также класс переопределяет метод display() для предоставления более конкретного описания.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤47😎30
Что такое литералы?
Ответ:
Переменная a - тоже литерал.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25🔥1
Делимся переводом статьи о том, какие трудности возникли у Netflix при интеграции виртуальных потоков в Spring Boot на Tomcat.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍4
Учитывая целое число
x, верните true, если x является палиндромом, и false в противном случае.Пример 1:
Входные данные:
x = 121Вывод:
trueПояснение:
121 читается как 121 слева направо и справа налево.Пример 2:
Входные данные:
x = -121Вывод:
falseПояснение:
Слева направо читается -121. Справа налево становится 121-. Следовательно, это не палиндром.Пример 3:
Входные данные:
x = 10Вывод:
falseПояснение:
Читается 01 справа налево. Следовательно, это не палиндром.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔6❤2👻2
@Value в Spring (Часть 1)Давненько не было спринга на канале, поэтому сегодня поговорим об аннотации
@Value — где её использовать, как её использовать и примеры использования.Аннотация
@Value позволяет внедрять значения свойств в поля, конструкторы или параметры методов Spring-компонентов. С её помощью мы можем легко получать значения из различных источников: properties-файлы, системные переменные, переменные окружения и т.д.Пример использования:
Допустим, у нас есть файл
application.properties со следующими значениями:bot.name=example_bot
bot.token=123abc-234...
В необходимом классе создадим поля
token и bot и пометим их аннотацией @Value:@Value("${bot.name}")
private String name;
@Value("${bot.token}")
private String token;Теперь Spring будет искать указанные свойства в файле
application.properties. Это была основа основ, но на этом возможности @Value не заканчиваются — в следующей части мы рассмотрим ещё несколько крутейших фишек этой аннотации.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁40👍6
@Value в Spring (Часть 2)Позавчера мы узнали, что представляет из себя аннотация
@Value и как её обычно используют 80% разработчиков.Но сегодня мы рассмотрим ещё несколько интересных возможностей, которые предоставляет
@Value.1. Внедрение значений прямо из аннотаций:
@Value("123abc-234...")
private String token;
2. Установка дефолтного значения:
@Value("${bot.token:some default token}")
private String token;
3. Внедрениe массива значений:
bot.versions=1, 2, 3
@Value("${bot.versions}")
private int[] versions;
Полезно знать и то, что когда мы помечаем поле аннотацией
@Value, Spring по умолчанию ищет свойства в файле application.properties, но мы можем указать другой файл с помощью аннотации @PropertySource:@Configuration
@PropertySource("classpath:another.properties")
public class Config {
@Value("${bot.name}")
private String name;
@Value("${bot.token}")
private String token;
}
Таким образом,
@PropertySource используется для указания источника свойств, а @Value — для внедрения значений свойств.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24❤6👍4🤣3 1
В этой статье из двух частей автор рассказывает о модификациях, которые он внес в проект Spring Petclinic для интеграции AI-помощника, позволяющего пользователям взаимодействовать с приложением на естественном языке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Character.isLetter() — метод, который проверяет, является ли символ буквой. Он возвращает значение true, если символ является буквой, и false в противном случае. Character.isDigit() — метод, который проверяет, является ли символ цифрой. Он возвращает значение true, если символ является цифрой, и false в противном случае.Please open Telegram to view this post
VIEW IN TELEGRAM