Java | Фишки и трюки
Kanalga Telegram’da o‘tish
Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg Менеджер по рекламе: @shmyzna
Ko'proq ko'rsatish6 951
Obunachilar
+124 soatlar
-107 kunlar
+1230 kunlar
Postlar arxiv
6 951
⌨️ Что произойдёт, если в блоке инициализации возникнет исключительная ситуация?
Для нестатических блоков инициализации, если выбрасывание исключения прописано явным образом требуется, чтобы объявления этих исключений были перечислены в
throws всех конструкторов класса. Иначе будет ошибка компиляции. Для статического блока выбрасывание исключения в явном виде, приводит к ошибке компиляции.
В остальных случаях, взаимодействие с исключениями будет проходить так же, как и в любом другом месте. Класс не будет инициализирован, если ошибка происходит в статическом блоке и объект класса не будет создан, если ошибка возникает в нестатическом блоке.
#java #initialization #exception6 951
🔓 Топовое обучение теперь доступно каждому!
😎 IT Syndicate — лучшее место для поиска курсов по IT-технологиям совершенно бесплатно.
У нас ты найдешь материал по любым специальностям и уровням подготовки!
🔥 Заходи прямо сейчас, чтобы не потерять — IT Syndicate!
6 951
⌨️ Для чего в Java используются статические блоки инициализации?
Статические блоки инициализация используются для выполнения кода, который должен выполняться один раз при инициализации класса загрузчиком классов, в момент, предшествующий созданию объектов этого класса при помощи конструктора. Такой блок (в отличие от нестатических, принадлежащих конкретном объекту класса) принадлежит только самому классу (объекту метакласса
Class).
#java #static #initialization6 951
public class Quest {
{
System.out.println(i);
}
int i;
public Quest(int i){
this.i = i;
}
public static void main(String[] args) {
new Quest(1);
}
}6 951
⌨️📚 Чистый код. Объекты и структуры данных
✅ Ты должен работать с абстракциями, чтобы реализацию можно было легко изменить.
✅ Ты должен работать с абстракциями, потому что клиент, использующий функционал, не должен знать о деталях реализации, он должен знать какую реализацию в каком случае использовать.
✅ Ты должен предоставлять API, с которым стоит работать и скрывать детали реализации, структуру. Так будет проще работать с такими сущностями и добавлять новые виды поведений, функционала и реализаций.
✅ DTO — Data Transfer Object. Класс, который содержит только данные и никакого функционала. Нужен для того, чтобы передавать какие-то данные. Объект такого класса должен быть неизменяемым.
6 951
Мечтаешь об успешной карьере в Java-разработке, но не знаешь, с чего начать ❓
Прокачайся бесплатно в ИТ-лагере T1.Дебют!
🌟 Приглашаем студентов и выпускников всей страны в ИТ-лагерь — это новый образовательный интенсив для Java-разработчиков от Холдинга Т1 — крупнейшей ИКТ-компании в России по версии RAEX 2023.
ИТ-лагерь проходит в два этапа: 1 месяц онлайн-обучения и неделя летнего атмосферного офлайн-буткемпа! ☀️
Гибкий формат позволяет совмещать обучение в ИТ-лагере со сдачей сессии или работой.
Финалисты получат сертификат на оплачиваемую стажировку, а лучших выпускников с опытом сразу пригласят в команду Т1.
🗓 Подай заявку до 31 мая
Реклама. ООО "Т1". ИНН 7720484492.
6 951
⌨️ Полезные стримы. Поиск максимального
Дан список людей с именем и возрастом. Нужно найти самого старшего.
import java.util.Comparator;
import java.util.List;
record Person(String name, int age) {}
public class StreamExample {
public static void main(String[] args) {
List<Person> people = List.of(
new Person("Alice", 30),
new Person("Bob", 20),
new Person("Charlie", 40)
);
people.stream()
.max(Comparator.comparingInt(Person::age))
.ifPresent(person -> System.out.println("Oldest person: " + person.name()));
// Вывод: Oldest person: Charlie
}
}6 951
Кошка говорит «мяу», собака говорит «гав», Java-разработчик говорит «кто-нибудь видел мой энергетик? А то мне еще баги исправлять».
Да, быть разработчиком на Java непросто. Но нет ничего невозможного, если у вас есть желание разобраться и двухнедельный подготовительный курс от Хекслета за 990 рублей.
– 62 онлайн-урока;
– 4 живых вебинара;
– практика с первого дня;
– помощь наставника в закрытом чате.
Нет опыта? Не беда! Как говорят в IT-среде: «А что, если попробовать так?»
И мы тоже говорим вам “Попробуйте”
⏰ Cтарт уже 29 мая!
6 951
public class Quest {
public static void main(String[] args) {
System.out.println(condition(null) ? 1 : 2);
}
public static boolean condition(Number o) {
return true;
}
public static boolean condition(Long l) {
return false;
}
}6 951
Какие побитовые операции вы знаете?
~ Побитовый унарный оператор NOT; & Побитовый AND; &= Побитовый AND с присваиванием; | Побитовый OR; |= Побитовый OR с присваиванием; ^ Побитовый исключающее XOR; ^= Побитовый исключающее XOR с присваиванием; >> Сдвиг вправо (деление на 2 в степени сдвига); >>= Сдвиг вправо с присваиванием; >>> Сдвиг вправо без учёта знака; >>>= Сдвиг вправо без учёта знака с присваиванием; << Сдвиг влево (умножение на 2 в степени сдвига); <<= Сдвиг влево с присваиванием.
6 951
В IT берут без опыта
Однако эта сфера – быстрый буст только для тех, кто умеет правильно проходить собеседования. Важно знать:
– Крупные компании берут людей по специальным критериям. Есть 10 навыков, без которых классных заказчиков можно не ждать
– 5 простых шагов, чтобы обойти конкурентов в нише и устроиться в хорошую компанию даже будучи начинающим разработчиком
– Какие проекты и фичи разрабатывать, чтобы произвести приятное впечатление на рекрутеров
Об этом, а также о том, как искать лучшие вакансии в IT, сделать портфолио идеальным для работодателя и получить желанный оффер от 100 000 рублей - на онлайн-эфире от FAANG School.
Полезные подарки уже доступны:
- Подробный гайд «Как найти работу в IT»
- Пошаговый Roadmap по Java
- Шпаргалка «Hotkey JetBrains IDE»
- Шпаргалка по Rest API
Переходите и узнайте, как устроиться в Сбер, Тинькофф, Яндекс и Вконтакте.
6 951
⌨️ Виды классов
1. Обычные классы (Regular Classes)
Это наиболее распространенные классы, которые вы создаете для определения объектов. Они могут содержать поля, методы, конструкторы и вложенные классы.
public class MyClass {
private int field;
public MyClass(int field) {
this.field = field;
}
public void method() {
// some code
}
}
2. Абстрактные классы (Abstract Classes)
Абстрактные классы не могут быть созданы как объекты напрямую. Они предназначены для предоставления общей функциональности, которую подклассы должны реализовать или дополнить.
public abstract class AbstractClass {
public abstract void abstractMethod();
public void concreteMethod() {
// some code
}
}
3. Вложенные классы (Nested Classes)
Классы, объявленные внутри другого класса. Они могут быть статическими или нестатическими.
🔹 Статические вложенные классы (Static Nested Classes):
Эти классы могут быть созданы без экземпляра внешнего класса.
public class OuterClass {
static class StaticNestedClass {
// some code
}
}
🔹 Внутренние классы (Inner Classes):
Эти классы имеют доступ ко всем членам внешнего класса и создаются в контексте экземпляра внешнего класса.
public class OuterClass {
class InnerClass {
// some code
}
}
4. Локальные классы (Local Classes)
Классы, объявленные внутри метода, конструктора или блока. Они имеют доступ к финальным переменным из охватывающего метода.
public class OuterClass {
public void method() {
class LocalClass {
// some code
}
LocalClass local = new LocalClass();
}
}
5. Анонимные классы (Anonymous Classes)
Классы без имени, создаваемые на месте для реализации интерфейса или наследования от класса. Часто используются для создания экземпляров интерфейсов или абстрактных классов.
public class OuterClass {
public void method() {
Runnable runnable = new Runnable() {
@Override
public void run() {
// some code
}
};
}
}
6. Перечисления (Enums)
Специальные классы, представляющие набор констант. Они могут содержать поля, методы и конструкторы.
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
7. Интерфейсы (Interfaces)
Технически не классы, но важная часть объектно-ориентированного программирования в Java. Интерфейсы определяют контракты, которые должны быть реализованы классами.
public interface MyInterface {
void myMethod();
}
8. Записи (Records)
Нововведение в Java 14 (в предварительном виде) и официально в Java 16. Они предоставляют компактный способ создания неизменяемых классов с полями и автоматически сгенерированными методами, такими как equals, hashCode и toString.
public record Point(int x, int y) {}
#java #classes6 951
Cамый простой способ изучить Java — залезть в голову профи
Один из лучших айтишников России учит базе кодинга в Telegram. Даже гуманитарий поймёт, как создавать приложения, сайты, игры и чат-боты.
Достаточно подписаться на «Секреты Java», где каждый день появляются гайды, готовые примеры кода и лучших практик.
И всё это бесплатно — вместо сотен тысяч рублей за курсы. Стартовать в прибыльной профессии с нуля вы сможете гораздо проще!
Теперь обучиться Java может каждый: @java_secrets
6 951
⌨️ Типы конструкторов
Конструктор по умолчанию (Default Constructor)
Это конструктор без параметров, который автоматически создается компилятором, если в классе не объявлено ни одного конструктора. Он будет пустым и не делает ничего, кроме вызова конструктора суперкласса.
public class MyClass {
private int number;
private String text;
// Компилятор создаст конструктор по умолчанию:
// public MyClass() {
// super();
// }
}
Конструктор с параметрами (Parameterized Constructor)
Это конструктор, который принимает один или несколько параметров, используемых для инициализации полей класса. Если объявлен хотя бы один конструктор с параметрами, конструктор по умолчанию больше не создается автоматически (его нужно явно определить, если он нужен).
public class MyClass {
private int number;
private String text;
public MyClass(int number, String text) {
this.number = number;
this.text = text;
}
}
Конструктор копирования (Copy Constructor)
Это конструктор, который создает новый объект как копию существующего объекта того же класса.
public class MyClass {
private int number;
private String text;
// Конструктор копирования
public MyClass(MyClass other) {
this.number = other.number;
this.text = other.text;
}
}6 951
Ну все! Теперь не нужно тратить деньги на топовые курсы и книги по программированию — их выложили в Telegram бесплатно
Все найденные курсы собирают тут — @portalToIT
По этим курсам выучить любой язык за 7 дней вообще не проблема, находка для начинающих программистов.
6 951
В ходе массового опроса секретарш, проведенного американскими социальными психологами, девяносто два процента респонденток заявили, что они подпишись, чтобы узнать больше со своим шефом.
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
