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

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

Ir al canal en Telegram

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

Mostrar más
6 824
Suscriptores
+724 horas
-97 días
-6030 días
Archivo de publicaciones
Cамый простой способ изучить Java — залезть в голову профи Один из лучших айтишников России учит базе кодинга в Telegram. Даже гуманитарий поймёт, как создавать приложения, сайты, игры и чат-боты. Достаточно подписаться на «Секреты Java», где каждый день появляются гайды, готовые примеры кода и лучших практик. И всё это бесплатно — вместо сотен тысяч рублей за курсы. Стартовать в прибыльной профессии с нуля вы сможете гораздо проще! Теперь обучиться Java может каждый: @java_secrets

⌨️ Типы конструкторов Конструктор по умолчанию (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;
    }
}

Ну все! Теперь не нужно тратить деньги на топовые курсы и книги по программированию — их выложили в Telegram бесплатно Все на
Ну все! Теперь не нужно тратить деньги на топовые курсы и книги по программированию — их выложили в Telegram бесплатно Все найденные курсы собирают тут — @portalToIT По этим курсам выучить любой язык за 7 дней вообще не проблема, находка для начинающих программистов.

Историческая справка
Историческая справка

В ходе массового опроса секретарш, проведенного американскими социальными психологами, девяносто два процента респонденток за
В ходе массового опроса секретарш, проведенного американскими социальными психологами, девяносто два процента респонденток заявили, что они подпишись, чтобы узнать больше со своим шефом.

⌨️ Можно ли сузить уровень доступа/тип возвращаемого значения при переопределении метода? ✅ При переопределении метода нельзя сузить модификатор доступа к методу (например с public в MainClass до private в Class extends MainClass). ✅ Изменить тип возвращаемого значения при переопределении метода нельзя, будет ошибка attempting to use incompatible return type. ✅ Можно сузить возвращаемое значение, если они совместимы.

public class Animal {
    public Animal eat() {
        System.out.println("animal eat");
        return null;
    }
    
    public Long calc() {
        return null;
    }
}

public class Dog extends Animal {
    public Dog eat() {
        return new Dog();
    }
    
/*attempting to use incompatible return type
    public Integer calc() {
        return null;
    }
*/
}

Repost from Яндекс
🔲 Посмотрите, как выглядит стол промышленного дизайнера. Авенир Бабин работает в команде Яндекс Маркета и создаёт дизайн для бренда аксессуаров Commo: наушников, пауэрбанков, чехлов и зарядных устройств. Commo — это один из собственных брендов Яндекс Маркета. Помимо него, маркетплейс также развивает, например, бренды велосипедов Raskat, мебели и товаров для дома Pragma, компьютерной техники Lunnen и другие. Подписывайтесь ✨ @yandex

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

public class Quest {
    public static void main(String[] args) {
        System.out.println(!!true);
    }
}

⌨️ В Java static import (статический импорт) позволяет импортировать статические члены (методы и поля) из класса, чтобы использовать их напрямую без указания имени класса. Это может сделать код более читабельным и компактным.

// Для импорта конкретного статического члена
import static package.Clazz.member;

// Для импорта всех статических членов класса
import static package.Clazz.*;
Пример:

public class MathUtils {
    public static final double PI = 3.141592653589793;
    public static int add(int a, int b) {
        return a + b;
    }
    public static int subtract(int a, int b) {
        return a - b;
    }
}

import static MathUtils.PI;
import static MathUtils.add;

public class Main {
    public static void main(String[] args) {
        System.out.println("Value of PI: " + PI);
        System.out.println("Addition result: " + add(5, 3));
    }
}

import static MathUtils.*;

public class Main {
    public static void main(String[] args) {
        System.out.println("Value of PI: " + PI);
        System.out.println("Addition result: " + add(5, 3));
        System.out.println("Subtraction result: " + subtract(5, 3));
    }
}
Плюсы: читаемость, компактность кода. Минусы: - не очевидно откуда берется поле или метод - импорт всех статических членов может привести к конфликтам имен, если разные классы содержат статические члены с одинаковыми именами

👉 С чего начать изучение Apache Kafka? Apache Kafka — многогранный и непростой инструмент. Даже если вы уверены, что знаете
👉 С чего начать изучение Apache Kafka?  Apache Kafka — многогранный и непростой инструмент. Даже если вы уверены, что знаете его, наш курс докажет вам обратное!  💻 Начните работу с Kafka на открытом практическом уроке от OTUS, где вы: — разберете особенности и устройство Kafka; — познакомитесь с основными утилитами; — рассмотрите базовое API для работы с Kafka.  ♦️ Спикер — опытный разработчик и преподаватель. Встречаемся 20 мая в 20:00 мск в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!  🔥 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/6hKL/?erid=LjN8KLX2V

⌨️ К каким конструкциям Java применим модификатор static? ✅полям; ✅методам; ✅вложенным классам; ✅блокам инициализации; ✅членам секции import.

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

public class Quest {
    public static void main(String[] args) {
        Value val = new Value(1);
        System.out.print(val.i);
        System.out.print(change(val).i);
        System.out.print(val.i);
    }

    public static Value change(Value val) {
        val.i = 2;
        return val;
    }

    static class Value {
        int i;
        public Value(int i) {
            this.i = i;
        }
    }
}

⌨️ Способы передачи параметров в методы Существуют два основных способа передачи параметров в методы: "по значению" (pass-by-
⌨️ Способы передачи параметров в методы Существуют два основных способа передачи параметров в методы: "по значению" (pass-by-value) и "по ссылке" (pass-by-reference). В первом случае метод работает с копией значения параметра, не изменяя исходное значение. Во втором случае метод получает ссылку на объект или переменную, и любые изменения в параметре отражаются на исходном объекте или переменной. Понимание разницы между этими способами важно для правильной работы программы и отладки, так как правила могут различаться в разных языках программирования. В Java параметры всегда передаются "по значению", однако при передаче ссылочного типа данных можно изменить сам объект.

Познакомьтесь с основами востребованного языка программирования Java на бесплатном мини-курсе Skillbox! Узнайте, как Java-раз
Познакомьтесь с основами востребованного языка программирования Java на бесплатном мини-курсе Skillbox! Узнайте, как Java-разработчики работают в офисе, на фрилансе, удалёнке и что нужно для старта карьеры. Бессрочный доступ за пару кликов: 👉 https://epic.st/cKK-t?erid=2VtzqurDYbk Что вас ждёт: ✔️ Полезная теория За 4 занятия изучите основы профессии и языка Java по видеоматериалам. ✔️ Интересная практика Напишете первые проекты: Telegram-бота, программу для обработки файлов и чат на Spring. Опыт и знания в IT не нужны для их выполнения. ✔️ Живой эфир с экспертом по Java В финале в прямом эфире пообщаетесь с Даниилом Пилипенко, который более 19 лет работает в сфере Java и веб-разработки. 🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год. Сразу после регистрации пришлём гайд по профессии Java-разработчика 😉 Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

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

public class Quest {

    public static void main(String[] args) {
        int i = 1;
        System.out.print(i);
        System.out.print(change(i));
        System.out.print(i);
    }

    public static int change(int i) {
        i = 2;
        return i;
    }

}

⌨️ Могут ли нестатические методы перегрузить статические? Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.

Разверните Kubernetes за 10 минут — от VK Cloud Сертифицированный K8s от VK Cloud. Масштабируйте до 100 серверов. Разворачива
Разверните Kubernetes за 10 минут — от VK Cloud Сертифицированный K8s от VK Cloud. Масштабируйте до 100 серверов. Разворачивай за 10 минут. Экосистема Kubernetes от VK Cloud: управление с Terraform; мониторинг на базе Prometheus, Grafana. Узнать больше #реклама cloud.vk.com О рекламодателе