Java | Фишки и трюки
Відкрити в Telegram
Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg Менеджер по рекламе: @shmyzna
Показати більше6 951
Підписники
+124 години
-107 днів
+1230 день
Архів дописів
6 952
Какие логические операции и операторы вы знаете?
& Логическое AND (И); && Сокращённое AND; | Логическое OR (ИЛИ); || Сокращённое OR; ^ Логическое XOR (исключающее OR (ИЛИ)); ! Логическое унарное NOT (НЕ); &= AND с присваиванием; |= OR с присваиванием; ^= XOR с присваиванием; == Равно; != Не равно; ?:: Тернарный (троичный) условный оператор.
6 952
Простой тест для выбора профессии в IT
Пройдите тест за 5 минут и узнайте, какая профессия вам подходит.
Начать
#реклама 16+
free.skillfactory.ru
О рекламодателе
6 952
⌨️ Каким образом можно получить доступ к члену класса, объявленному как private?
✅ Внутри класса доступ к приватной переменной открыт без ограничений;
✅ Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;
✅ Доступ к приватным переменным извне может быть организован через отличные от приватных методов, которые предоставлены разработчиком класса (геттеры, сеттеры). Например:
getX() и setX().
✅ Через механизм рефлексии (Reflection API):
class Hide {
private int field = 42;
}
...
Hide hide = new Hide();
Field field = Hide.class.getDeclaredField("field");
field.setAccessible(true);
int fieldValue = (int) field.get(hide);6 952
Я хочу трекнуть ваш мозг
Встречайте Neiry Mind Tracker — устройство для тех, кто работает за компом и кто хочет успевать больше…
🚀 При этом чувствовать себя лучше и не выгорать
Продуктивность: 📈
Стресс: 📉
Функции:
⋅ Мониторинг твоего состояния в реальном времени и уведомления о повышенной усталости (и другом!)
⋅ «Нейропомодоро» — чтобы ты не отвлекался на всякую фигню
⋅ 3 тренинга, чтобы ты стал спокоен, словно удав
Устройство (повязки или наушники) идёт вместе с бесплатным приложением на iOS, Windows, MacOS. Android — скоро!
Подробности и покупка — всё на сайте, переходи: https://tglink.io/5ff12d9c1704
Реклама. ООО "НЕЙРИ". ИНН 9701140612. erid: LjN8K2Mek
6 952
Domain-Driven Design (DDD) — это методология разработки программного обеспечения, ориентированная на понимание и моделирование бизнес-домена. Она ставит акцент на использовании общего языка между бизнесом и разработчиками, создании детальной модели бизнес-домена, определении сущностей, значений, агрегатов, сервисов и репозиториев для построения гибких, понятных и масштабируемых систем.
DDD подчеркивает важность использования общего, ясного языка (Язык Унифицированного Домена (Ubiquitous Language)), понятного и для бизнеса, и для разработчиков. Это позволяет уменьшить разрыв между бизнесом и разработкой.
6 952
Многофакторная аутентификация Avanpost MFA+
Надёжное решение для защиты от несанкционированного доступа с поддержкой всех современных методов аутентификации.
⚡ Все стандартные технологии интеграции: SAML, Kerberos, OpenID Connect и др.,
⚡ Собственное мобильное приложение Avanpost Authenticator,
⚡ Гибкое лицензирование.
Avanpost MFA+ возьмет на себя большую часть рутинных задач, разгрузив ваших администраторов для выполнения более важных процессов.
Перейти на сайт
#реклама 16+
promo.avanpost.ru
О рекламодателе
6 952
Обучаем Java-разработчиков оплата после выхода на работу
В Kata Academy можно выучиться на Java-разработчика бесплатно, а заплатить уже после трудоустройства по специальности из фактической зарплаты.
Если задуматься, то все в выигрыше:
— ты получаешь работу в Москве или Санкт-Петербурге с хорошей зарплатой, мы получаем процент за инвестиции в тебя;
— в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше;
— мы прокачиваем твои навыки еще 2 года после курса: проводим выездные мероприятия и мастер-классы — и доходы наших выпускников растут;
— мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов.
Чтобы попасть на курс, нужно выполнить небольшое тестовое задание. Переходи по ссылке и оставляй заявку!
Узнать больше
#реклама 16+
kata.academy
О рекламодателе
6 952
public class Test {
public static int VAL;
{
VAL = 5;
}
public Test() {
VAL = 10;
}
public static void print() {
System.out.println(VAL);
}
}
public class Quest {
public static void main(String[] args) {
Test.print();
}
}6 952
⌨️ Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
Существуют статические и нестатические блоки инициализации.
Статический блок инициализации выполняется в момент загрузки класса в JVM загрузчиком классов (Class Loader).
public class StaticInitialization {
static {
System.out.println("Статическая инициализация");
}
}
Нестатический блок инициализации выполняется в момент создания класса (new).
public class NonstaticInitialization {
{
System.out.println("Нестатическая инициализация");
}
}
Несколько блоков инициализации выполняются в порядке следования в коде класса.
Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
Блок инициализации возможно создать и в анонимном классе.6 952
Code Review – тонкий юмор под острым соусом кодерской сатиры
Шерстим интернет и отбираем только жизненные IT-мемы от которых смешно, грустно и провокационно – одновременно.
Поделись с душным коллегой, пусть расслабится
👇 И подписаться не забудь:
@coode_review
6 952
⌨️ Почему в некоторых интерфейсах вообще не определяют методов?
Это так называемые маркерные интерфейсы. Они просто указывают что класс относится к определенному типу. Примером может послужить интерфейс
Clonable, который указывает на то, что класс поддерживает механизм клонирования.6 952
public class Quest {
public static void main(String[] args) {
boolean b = false;
System.out.println(b++);
}
}6 952
⌨️ Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
✅ В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
✅ Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
✅ Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как
public abstract или (начиная с Java 8 ) default - методами с реализацией по-умолчанию, а поля - public static final.
✅ Интерфейсы позволяют создавать структуры типов без иерархии.
✅ Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.6 952
📌 Составили список лучших каналов для любого айтишника:
Java Developer — советы и практики от действующего Senior-разработчика
Python Developer — секреты и тонкости программирования на Python
CodeLang — изучение английского языка в IT сфере
Библиотека Кодера — лучшие книги, шпаргалки и советы для разработчиков
6 952
⌨️ Дайте определение понятию «интерфейс». Какие модификаторы по умолчанию имеют поля и методы интерфейсов?
Ключевое слово
interface используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public.
Начиная с Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию default и статических static методов.
Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными public, статическими static и неизменяемыми final.
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
