Методы
Часть раздела Объектно-ориентированное программирование путешествия по Java на Coddy — урок 5 из 87.
Методы определяют действия, которые может выполнять объект. Они имеют тип возвращаемого значения, имя и необязательные параметры.
Метод без параметров
public class Greeter {
public String sayHello() {
return "Hello!";
}
}Метод с параметрами и типом возвращаемого значения
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}Метод void (без возвращаемого значения)
public class Printer {
public void printMessage(String msg) {
System.out.println(msg);
}
}Вызов методов
Calculator calc = new Calculator();
int result = calc.add(5, 3);
System.out.println(result); // Вывод: 8Тип возвращаемого значения сообщает Java, какой тип данных возвращает метод. Используйте void, когда метод выполняет действие, но не возвращает данные.
Задание
СреднеСоздайте четыре метода в классе StringHelper:
toUpperCase()— возвращает текст в верхнем регистреgetLength()— возвращает длину текстаcontains(String word)— возвращает true, если текст содержит словоrepeat(int times)— возвращает текст, повторенный несколько раз через пробел
Шпаргалка
Методы определяют действия, которые может выполнять объект. У них есть тип возвращаемого значения, имя и необязательные параметры.
Метод без параметров:
public class Greeter {
public String sayHello() {
return "Hello!";
}
}Метод с параметрами и типом возвращаемого значения:
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}Метод void (без возвращаемого значения):
public class Printer {
public void printMessage(String msg) {
System.out.println(msg);
}
}Вызов методов:
Calculator calc = new Calculator();
int result = calc.add(5, 3);
System.out.println(result); // Вывод: 8Тип возвращаемого значения сообщает Java, какой тип данных возвращает метод. Используйте void, когда метод выполняет действие, но не возвращает данные.
Попробуйте сами
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
StringHelper helper = new StringHelper(input);
System.out.println("Original: " + input);
System.out.println("Uppercase: " + helper.toUpperCase());
System.out.println("Length: " + helper.getLength());
System.out.println("Contains 'World': " + helper.contains("World"));
System.out.println("Repeated: " + helper.repeat(3));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Основы ООП
Внешние файлыВведение в ООПКлассы и объектыКлючевое слово thisМетодыПоля (атрибуты)Метод-конструкторПерегрузка конструкторовИтоги — Простой калькулятор4Наследование
Основы наследования (extends)Ключевое слово superПереопределение методов (@Override)Цепочка конструкторовКласс ObjectОдиночное и многоуровневое наследованиеПочему нет множественного наследования классовИтоги — Иерархия сотрудников7Специальные методы и класс Object
Метод toString()equals() и hashCode()Метод clone()compareTo() и ComparableИнтерфейс ComparatorПовторение — Кастомная сортировка2Модификаторы доступа и инкапсуляция
Обзор уровней доступаМетоды геттеры и сеттерыСокрытие данныхКлючевое слово finalИтоги — Менеджер банковского счета5Полиморфизм
Основы перегрузки методовПереопределение методов (Run-Time)Upcasting и DowncastingОператор instanceofАбстрактные классы и методыИтоги: Калькулятор фигур8Продвинутые концепции ООП
Композиция против наследованияАгрегация против композицииВнутренние, вложенные и анонимные классыEnums и методы перечисленийRecords (Java 16+)Sealed-классы (Java 17+)11Паттерны проектирования. Часть 1
Введение в паттерны проектированияПаттерн SingletonПаттерн FactoryПаттерн BuilderПаттерн ObserverПаттерн Strategy3Свойства класса и статические члены
Переменные экземпляра и статические переменныеСтатические методыСтатические блокиКонстанты (static final)Итоги: Счетчик и утилиты6Интерфейсы и абстрактные классы
Введение в интерфейсыРеализация интерфейсовРеализация нескольких интерфейсовDefault и Static методы в интерфейсахАбстрактные классы vs ИнтерфейсыФункциональные интерфейсыИтоги — Платежная система9Обобщения
Введение в обобщенияОбобщенные классыОбобщенные методыОграниченные параметры типаСимволы подстановки (Wildcards: ?, extends, super)Итоги — Обобщенный контейнер12Паттерны проектирования. Часть 2
Паттерн «Команда»Паттерн «Адаптер»Паттерн «Декоратор»Паттерн «Шаблонный метод»Паттерн «Состояние»Паттерн «Компоновщик»Паттерн «Итератор»