ru
Feedback
Java | Фишки и трюки

Java | Фишки и трюки

Открыть в Telegram

Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg Менеджер по рекламе: @shmyzna

Больше
6 951
Подписчики
+124 часа
-107 дней
+1230 день
Архив постов
Какие логические операции и операторы вы знаете?
&   Логическое AND (И);
&&  Сокращённое AND;
|   Логическое OR (ИЛИ);
||  Сокращённое OR;
^   Логическое XOR (исключающее OR (ИЛИ));
!   Логическое унарное NOT (НЕ);
&=  AND с присваиванием;
|=  OR с присваиванием;
^=  XOR с присваиванием;
==  Равно;
!=  Не равно;
?:: Тернарный (троичный) условный оператор.

Простой тест для выбора профессии в IT Пройдите тест за 5 минут и узнайте, какая профессия вам подходит. Начать #реклама 16+
Простой тест для выбора профессии в IT Пройдите тест за 5 минут и узнайте, какая профессия вам подходит. Начать #реклама 16+ free.skillfactory.ru О рекламодателе

⌨️ Каким образом можно получить доступ к члену класса, объявленному как 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);

Я хочу трекнуть ваш мозг Встречайте Neiry Mind Tracker — устройство для тех, кто работает за компом и кто хочет успевать боль
Я хочу трекнуть ваш мозг Встречайте Neiry Mind Tracker — устройство для тех, кто работает за компом и кто хочет успевать больше… 🚀 При этом чувствовать себя лучше и не выгорать Продуктивность: 📈 Стресс: 📉 Функции: Мониторинг твоего состояния в реальном времени и уведомления о повышенной усталости (и другом!) «Нейропомодоро» — чтобы ты не отвлекался на всякую фигню 3 тренинга, чтобы ты стал спокоен, словно удав Устройство (повязки или наушники) идёт вместе с бесплатным приложением на iOS, Windows, MacOS. Android — скоро! Подробности и покупка — всё на сайте, переходи: https://tglink.io/5ff12d9c1704 Реклама. ООО "НЕЙРИ". ИНН 9701140612. erid: LjN8K2Mek

Domain-Driven Design (DDD) — это методология разработки программного обеспечения, ориентированная на понимание и моделировани
Domain-Driven Design (DDD) — это методология разработки программного обеспечения, ориентированная на понимание и моделирование бизнес-домена. Она ставит акцент на использовании общего языка между бизнесом и разработчиками, создании детальной модели бизнес-домена, определении сущностей, значений, агрегатов, сервисов и репозиториев для построения гибких, понятных и масштабируемых систем. DDD подчеркивает важность использования общего, ясного языка (Язык Унифицированного Домена (Ubiquitous Language)), понятного и для бизнеса, и для разработчиков. Это позволяет уменьшить разрыв между бизнесом и разработкой.

Многофакторная аутентификация Avanpost MFA+ Надёжное решение для защиты от несанкционированного доступа с поддержкой всех сов
Многофакторная аутентификация Avanpost MFA+ Надёжное решение для защиты от несанкционированного доступа с поддержкой всех современных методов аутентификации. ⚡ Все стандартные технологии интеграции: SAML, Kerberos, OpenID Connect и др., ⚡ Собственное мобильное приложение Avanpost Authenticator, ⚡ Гибкое лицензирование. Avanpost MFA+ возьмет на себя большую часть рутинных задач, разгрузив ваших администраторов для выполнения более важных процессов. Перейти на сайт #реклама 16+ promo.avanpost.ru О рекламодателе

photo content

Обучаем Java-разработчиков оплата после выхода на работу В Kata Academy можно выучиться на Java-разработчика бесплатно, а зап
Обучаем Java-разработчиков оплата после выхода на работу В Kata Academy можно выучиться на Java-разработчика бесплатно, а заплатить уже после трудоустройства по специальности из фактической зарплаты. Если задуматься, то все в выигрыше: — ты получаешь работу в Москве или Санкт-Петербурге с хорошей зарплатой, мы получаем процент за инвестиции в тебя; — в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше; — мы прокачиваем твои навыки еще 2 года после курса: проводим выездные мероприятия и мастер-классы — и доходы наших выпускников растут; — мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов. Чтобы попасть на курс, нужно выполнить небольшое тестовое задание. Переходи по ссылке и оставляй заявку! Узнать больше #реклама 16+ kata.academy О рекламодателе

Что выведет код?
Anonymous voting

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();
    }
}

⌨️ Зачем нужны и какие бывают блоки инициализации? Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов. Существуют статические и нестатические блоки инициализации. Статический блок инициализации выполняется в момент загрузки класса в JVM загрузчиком классов (Class Loader).

public class StaticInitialization {
    static {
        System.out.println("Статическая инициализация");
    }
}
Нестатический блок инициализации выполняется в момент создания класса (new).

public class NonstaticInitialization {
    {
        System.out.println("Нестатическая инициализация");
    }
}
Несколько блоков инициализации выполняются в порядке следования в коде класса. Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса. Блок инициализации возможно создать и в анонимном классе.

Code Review – тонкий юмор под острым соусом кодерской сатиры Шерстим интернет и отбираем только жизненные IT-мемы от которых
Code Reviewтонкий юмор под острым соусом кодерской сатиры Шерстим интернет и отбираем только жизненные IT-мемы от которых смешно, грустно и провокационно – одновременно. Поделись с душным коллегой, пусть расслабится 👇 И подписаться не забудь: @coode_review

Что имеет более высокий уровень абстракции?
Anonymous voting

⌨️ Почему в некоторых интерфейсах вообще не определяют методов? Это так называемые маркерные интерфейсы. Они просто указывают что класс относится к определенному типу. Примером может послужить интерфейс Clonable, который указывает на то, что класс поддерживает механизм клонирования.

Что выведет код?
Anonymous voting

public class Quest {
    public static void main(String[] args) {
        boolean b = false;
        System.out.println(b++);
    }
}

photo content

⌨️ Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс? ✅ В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса. ✅ Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом. ✅ Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8 ) default - методами с реализацией по-умолчанию, а поля - public static final. ✅ Интерфейсы позволяют создавать структуры типов без иерархии. ✅ Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность. Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.

📌 Составили список лучших каналов для любого айтишника: Java Developer — советы и практики от действующего Senior-разработчи
📌 Составили список лучших каналов для любого айтишника: Java Developer — советы и практики от действующего Senior-разработчика Python Developer — секреты и тонкости программирования на Python CodeLang — изучение английского языка в IT сфере Библиотека Кодера — лучшие книги, шпаргалки и советы для разработчиков

⌨️ Дайте определение понятию «интерфейс». Какие модификаторы по умолчанию имеют поля и методы интерфейсов? Ключевое слово interface используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public. Начиная с Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию default и статических static методов. Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными public, статическими static и неизменяемыми final.

Java | Фишки и трюки - Статистика и аналитика Telegram-канала @java_tips_and_tricks