JavaStart
909 subscribers
910 photos
28 videos
620 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
ООП, Полиморфизм в Java. Перегрузка методов. Часть 2.

Рассмотрим на практическом примере как проявляется полиморфизм, а потом снова вернемся к его определению.

Полиморфизм часто часто описывают фразой: Один интерфейс - много методов.

Но что это значит? Как проявляется полиморфизм?

Дело в том, что если бы в Java не было принципа полиморфизма, компилятор бы интерпретировал код на Картинке 1 как ошибку.

Как видите, методы на картинке отличаются значениями, которые они принимают:

первый принимает int, а второй принимает short.

Однако, поскольку в Java используется принцип полиморфизма (один из принципов ООП), компилятор не будет воспринимать это как ошибку, потому что такие методы будут считаться разными (Картинка 1).

Называть методы одинаково - это очень удобно. Например, если у нас есть метод, который ищет корень квадратный из числа, гораздо легче запомнить одно название (например, sqrt()), чем по одному отдельному названию на этот же метод, написанный для каждого типа (Картинка 2).

Как видите, мы не должны придумывать отдельное название для каждого метода - а главное их запоминать!

Это предполагает, что мы можем заполнить одно название (один интерфейс), по которому мы сможем обращаться к нескольким методам, меняя лишь аргументы.

Теперь Вы можете понять, почему часто этот принцип описывают фразой: Один интерфейс - много методов.

Перегрузка методов.

То, что показано выше - несколько методов с одним названием и разными параметрами - называется перегрузкой методов.

Все это - проявления "повышенной гибкости" объектно-ориентированного языка Java благодаря полиморфизму.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥21👏1👨‍💻1
Можно ли переопределить статический метод?

Чтобы правильно ответить на данный вопрос нужно понимать, что перегрузка метода и его переопределение – это разные понятия.

Сначала рассмотрим перегрузку.

Компилятор Java рассматривает методы с отличающимися параметрами как разные, поэтому не существует никаких ограничений.

Статические методы действуют на весь класс, а не к его экземплярам, здесь применяется статическое связывание, а значит, переопределить данный метод в дочернем классе невозможно.

Однако в дочернем классе не запрещено объявлять static-метод с теми же параметрами. Такая конструкция в Java называется перекрытие. В этом методе запрещено указывать слово super и аннотацию @Override.

class Base {
  static void prntMe() {
    System.out.prntln("Base!");
  }
}
class Child extends Base {
  static vod printMe() {
    System.out.prntln("Child!");
  }
}
Base instance = new Child();
instance.printMe(); // Хоть объект и Child, напечатается "Base!"

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72👨‍💻21🤓1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍5💯2🤓1
Сегодня поговорим о методах/функциях в Java.

Это важные концепции, которые позволяют нам создавать более организованный и масштабируемый код.

Что такое методы/функции?

Методы (или функции) - это блоки кода, которые могут выполнять определенные действия и возвращать результаты. Они позволяют нам изолировать определенные задачи в отдельные блоки, делая код более читаемым и легко управляемым.

Создание методов.

Давайте посмотрим, как создать метод в Java:

public int multiply(int a, int b) {
    int result = a * b;
    return result;
}

В этом примере мы создали метод multiply, который принимает два аргумента a и b и возвращает их произведение.

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

Использование методов.

Вызвать метод можно следующим образом:

int x = 5;
int y = 3;
int product = multiply(x, y);
// product будет равен 15

Параметры и возвращаемые значения.

Методы могут принимать параметры (аргументы), которые передаются им при вызове. Они также могут возвращать значения определенных типов. В примере выше, int перед multiply означает, что метод вернет целочисленное значение.

Полезные советы.

1) Давайте методам понятные и описательные имена, чтобы их назначение было понятно даже без просмотра кода внутри;

2) Избегайте создания слишком больших методов. Лучше разбивайте задачи на более мелкие методы;

3) Подумайте о возможности переиспользования методов в разных частях программы.

Методы или функции - это один из ключевых инструментов программирования на Java. Они помогают делать код более структурированным, понятным и удобным для сопровождения. Практикуйтесь, создавая свои методы и экспериментируя с разными аргументами и возвращаемыми значениями.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏32👨‍💻2
Работа с пользовательским вводом в Java.

Сегодня мы разберем самый простой пример, как работать с пользовательским вводом, чтобы наша программа могла взаимодействовать с пользователями.

Для чтения данных, введенных пользователем с клавиатуры, мы используем класс Scanner. На Картинке 1 показано как это работает.

После запуска программы в консоли появится строка "Введите ваше имя:"

Вводим Сергей

И после ввода имени будет вывод в консоли как на Картинке 2:
"Привет, Сергей!"

Анализ пользовательского ввода.

Scanner также позволяет нам анализировать ввод пользователя.

Например, давайте попросим пользователя ввести число и проверим, четное ли оно (Картинка 3).

Полезные советы.

1) Не забывайте импортировать java.util.Scanner в начале вашего кода, чтобы использовать класс Scanner;

2) При чтении строк с использованием nextLine(), помните, что метод оставляет в буфере символ новой строки. Возможно, вам придется добавить дополнительный scanner.nextLine() для очистки буфера перед следующим вводом.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2👨‍💻1
Какая SQL функция используется для подсчёта числа записей в таблице?
Anonymous Quiz
11%
SUM()
3%
AVERAGE()
81%
COUNT(*)
4%
MAX()
1%
Посмотреть ответ
👍3🎉21
7 Полезных Сниппетов Java для начинающих разработчиков. Часть 1.

Сегодня подготовил небольшую коллекцию полезных сниппетов (фрагментов кода), которые помогут вам быстро разобраться с некоторыми базовыми задачами в программировании на Java. Эти сниппеты пригодятся вам как на начальных этапах обучения, так и в будущих проектах.

Разобравшись в них, вы поймете, что язык Java - узнаваем и понятен.

Картинка 2 - работа с массивами;

Картинка 3 - чтение пользовательского ввода;

Картинка 4 - проверка четности числа;

Картинка 5 - методы и функции.

Эти сниппеты помогут вам быстро освоить базовые концепции языка Java и дадут хороший старт на вашем пути к освоению программирования. Практикуйтесь, меняйте код, добавляйте свои идеи!

Рассмотрим еще несколько узнаваемых фрагментов Java кода в следующем посте.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥511👨‍💻1
7 Полезных Сниппетов Java для начинающих разработчиков. Часть 2.

Давайте рассмотрим еще несколько самых узнаваемых фрагментов Java кода, которые дадут хороший старт на вашем пути к освоению разработки.

Подумайте, что будет выведено в консоль после выполнения кода на каждой картинке?

Картинка 2 - простой класс и объект;

Картинка 3 - условный оператор if-else;

Картинка 4 - цикл for для повторений.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73👨‍💻31🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4💯3😁2